In a medium sauce pan over medium heat, heat the butter and sweat the onion and garlic until translucent. Add the tomatoes and simmer for 15 minutes. Add the remaining ingredients and simmer for 20 minutes. Puree the mixture in a food processor, pour into a bowl, and allow to cool at room temperature. This sauce will keep for 1 week in the refrigerator or several months frozen.