For the Roux:In a large sauce pan over medium heat melt the butter. Add flour and stir with a wooden spoon to combine. Cook, stirring frequently, until the roux is the color of peanut butter, about 15 minutes. Remove from the heat and set aside.For the Soup:In a 10-inch skillet over medium heat, stirring constantly, toast the curry powder until fragrant and begins to brown; about 2-3 minutes. Transfer to a plate and set aside.In a large pot (at least 7 quarts) over medium heat add the olive oil and cook celery, onion and garlic until the onions are translucent and the vegetables are softened, about 8 minutes. Add tomatoes, chicken broth, milk, thyme leaves, bay leaves, salt and pepper and bring to a low boil. Slowly add the roux, and stir to combine. Add the curry powder, and stir until blended. Add the heavy cream and reduce the heat to low and simmer for 20 minutes.Remove the bay leaves, and add the chicken. Cook until heated through, about 5 minutes.Ladle the soup into bowls and garnish with green onions and almonds.