In a large saucepan or casserole, melt 4 tablespoons of the butter. Add the onion and cook over moderately low heat, stirring occasionally, until softened, about 8 minutes. Add 1/4 teaspoon each of the cardamom and nutmeg and 1/8 teaspoon each of the ginger and cloves and cook, stirring, until fragrant, about 2 minutes. Add the chicken stock and bring to a boil over moderately high heat. Add the squash flesh and heavy cream and simmer over moderate heat for 5 minutes. Working in batches, puree the soup in a food processor and return to the pan. Season with salt and pepper and keep warm over very low heat.