Heat the oil in a heavy pan, then add the onion and sweat until it is softened (about 2 minutes).
Add the garlic and chilis, and cook until fragrant.
Add the lentils, allspice, honey, lemon juice and zest, and stock. Season with salt and pepper, then bring to a boil.
Lower the heat, and simmer for about 45 minutes, until the lentils are very tender.
Remove from the heat and add the cilantro leaves. Let rest, uncovered, for 10 minutes.
Use a blender or food processor or immersion blender to puree the soup.
Taste, and add salt or pepper as needed. If the soup is too thick, add a little more stock or water to thin it.
Gently combine the eggs, saffron, cream and salt and pepper to taste.
Melt the butter in a skillet over low heat, add the eggs, and cook until they are very softly scrambled.
To serve, bring the soup back to a boil, then pour into serving bowls. Top with a spoonful of the scrambled eggs, and if desired, garnish with a few cilantro leaves and a drizzle of extra virgin olive oil.