Special equipment: several layers of cheesecloth
Heat the Ghee in a large heavy-bottomed pot over medium-low heat. Add the onions, ginger, and garlic and cook slowly until the onions are very soft, about 15 minutes. Add the tomato paste, Curry Powder, cinnamon stick, and chiles and give it a good stir; season with salt and pepper. Pour in the coconut milk and chicken stock and bring it back to a simmer; cook until the sauce has thickened, about 20 minutes. Add the tomatoes, chicken, cilantro, and half the lemon juice; continue to simmer until the chicken is cooked through, about 10 to 15 minutes. Taste and adjust the seasoning with lemon juice, salt and pepper. Garnish with cilantro and mint leaves.
Put the butter in a heavy saucepan over medium-low heat. Melt the butter slowly and make sure it does not sizzle or brown. Increase the heat and bring the butter to a boil. When the surface is covered with foam, stir gently and reduce the heat to the lowest possible setting. Gently simmer, uncovered, and undisturbed for 45 minutes, until the milk solids in the bottom of the pan have turned golden brown and the butter on top is transparent. Strain the ghee through a sieve lined with several layers of cheesecloth. The ghee should be perfectly clear and smell nutty; pour into a glass jar and seal tightly.
Toast the coriander, cumin, cardamom, peppercorns, fennel, mustard, cloves, and the chiles in a small dry skillet over medium-low heat just until they smell fragrant, about 2 minutes. In a clean coffee grinder or spice mill, grind the toasted spices together to a fine powder. Add the turmeric and give it another quick buzz to combine. Use the curry powder immediately, or store in a sealed jar for up to 1 month.