Preheat the oven to 350 degrees F/180 degrees C.
Melt the butter in a saute pan and gently saute the onions until soft. Add the garlic and cook for 1 minute. Pour in the Cognac, remove from the heat and cool slightly.
Combine the ground pork, liver and ground veal in a large bowl. Add the onion mixture, breadcrumbs, herbs, quatre-epices and eggs. Mix well. Sprinkle with plenty of salt and pepper. Fry a patty of it to check for seasonings and adjust if necessary.
Thinly slice the pork fat and line a 10-by-2 1/2-inch terrine mold with the slices, slightly overlapping them and allowing it to hang over the edges. Pack the meat mixture into the terrine and press down evenly. Fold the overhanging strips of fat over the top and add a few more slices if necessary to cover the top. Cover the top with a piece of parchment paper, then cover the terrine with foil.
Put the terrine in a roasting pan and pour around enough boiling water to come halfway up the sides of the terrine. Place in the oven and cook for 1 to 1 1/2 hours. Remove from the water bath and cool completely. Place a brick on it and refrigerate overnight. Slice and serve.