Heat the oil and the butter in a large, heavy bottomed pot over medium-high heat. Place the chopped sweet potatoes, carrots, apple, and onion in the pot. Stir and cook the apples and vegetables until the onions are translucent, about 10 minutes. Stir the lentils, ginger, ground black pepper, salt, cinnamon, chili powder, and vegetable stock or water into the pot with the apple and vegetable mixture. Bring the soup to a boil over high heat, then reduce the heat to medium-low, cover, and simmer until the lentils and vegetables are soft, about 30 minutes. Working in batches, pour the soup into a blender or food processor, filling the pitcher no more than halfway full. Hold down the lid of the blender with a folded kitchen towel, and carefully start the blender, using a few quick pulses to get the soup moving before leaving it on to puree. Puree in batches until smooth and pour into a clean pot. Alternately, you can use a stick blender and puree the soup right in the cooking pot. Return the pureed soup to the cooking pot. Bring back to a simmer over medium-high heat, about 10 minutes. Add water as needed to thin the soup to your preferred consistency. Serve with yogurt for garnish. Makes 6 to 8 servings.