In a skillet over medium heat, toast the cinnamon, peppercorns, cumin, paprika, red pepper flakes, and cloves, stirring or swirling in the pan, until they start to smoke. Remove from the heat immediately and grind to a fine powder in a spice grinder.
In a bowl large enough to accommodate the chicken, add the oil, spice mix, ginger, cilantro, bay leaves and saffron. Mix to a paste. Add chicken, rubbing the marinade over all the pieces. Cover and refrigerate for 2 hours or overnight.
Season chicken with salt and pepper. Remove from the bowl with marinade but do not discard any leftover marinade.
In a tagine or large Dutch oven, over medium-high heat, add 2 tablespoons olive oil. Put in chicken pieces and lightly brown on both sides, about 5 minutes. Add onions and cook until just starting to brown about 3 minutes.
Rinse preserved lemon well. Scoop out the flesh of the preserved lemon and discard; rinse the remaining peel well, cut into strips and add to the pan.
Add reserved marinade, olives, and chicken stock. Now cover tightly and cook over medium-low heat for 25 to 35 minutes, or until chicken is cooked through (timing will depend on the size of your thighs).
Remove bay leaf and discard.
Taste juices and adjust seasoning.
Place chicken on a warm platter. Spoon juices with the preserved lemon, olives, and onions over chicken and serve accompanied by Couscous with Apricots.