For the tagine, mix together the cumin, turmeric, ras-el-hanout, saffron strands and 2 tablespoons of the vegetable oil until well combined. Add the goat meat to the marinade and mix to coat the meat, then set aside to marinate for as long as possible (chill in the fridge if marinating for more than 30 minutes).
Heat the remaining oil in a large flameproof casserole over a medium to high heat. Fry the onion, garlic, chillies and ginger for 2-3 minutes, or until just softened. Add the marinated goat meat and fry for 2-3 minutes, or until browned on all sides.
Add the cinnamon stick, tinned tomatoes and honey and mix well. Pour in 200ml/7fl oz water and bring the mixture to the boil, then add the apricots and preserved lemon and mix well. Reduce the heat until the mixture is simmering, and simmer for 45-60 minutes, or until the goat is tender and the sauce has thickened, then season, to taste, with salt and freshly ground black pepper.
Just before serving, stir in the chopped pistachios and herbs.
Meanwhile, for the couscous, heat the butter in a frying pan with a tight-fitting lid over a medium heat. When the butter is foaming, add the couscous and stir-fry until golden-brown all over.
Pour in 400ml/14fl oz water, mix well, and remove the pan from the heat. Cover tightly with the lid or a sheet of aluminium foil and set aside to steam for 5 minutes. Fluff up the steamed couscous with a fork, then cover once more and steam for a further 5 minutes. Stir in the nuts, apricots, preserved lemon, herbs and lemon juice until well combined. Season, to taste, with salt and freshly ground black pepper.
To serve, pile the toasted nut couscous into the centre of 4 serving plates, then ladle the tagine on top.