Flat breads, such as lavash or pita bread, are traditionally used to eat this highly spiced Moroccan stew. Ras el hanout is a complex Moroccan spice blend that often can have up to 50 ingredients. It is available online or in Middle-Eastern markets.
Coat lamb with grated onion, ras el hanout, and salt and pepper. Marinate in refrigerator for 30 minutes or up to 2 hours. Melt 1 tablespoon butter in a wide, heavy-bottomed pan. Add meat, and brown lightly on all sides. Add saffron, 3 cups water, and cinnamon stick; bring to a boil. Reduce heat to a simmer, and cook, covered, for 1 1/2 hours.
Let cool slightly, and remove shanks. Pull meat from bones, keeping pieces as large as possible; discard fat, gristle, and bones. Season with salt and pepper. Skim fat from liquid, or refrigerate overnight, and remove fat. Refrigerate meat.
In a medium saute pan, heat 1 teaspoon butter and 1 teaspoon oil. Add sliced onions, and sprinkle with sugar, and salt and pepper to taste. Cook over medium-high heat for 15 minutes, tossing or stirring only when brown. Turn heat to low, and cook until onions are very soft and brown, about 20 more minutes.
Add tomatoes and cooking liquid from the lamb, and bring to a boil. Add meat, chickpeas, and pumpkin or squash, and simmer, covered, for 15 minutes. Remove lid, stir in prunes, and simmer until thick, about 15 to 20 more minutes. Adjust seasonings to taste. Serve immediately with harissa sauce and lavash or pita bread.