Melt the butter in a large saucepan over medium-low heat. Add the onions and shallots, and season with salt and pepper, to taste. Saute until caramelized and softened, about 25 to 30 minutes. Set aside to cool completely.
Combine the remaining ingredients in a large bowl, fold in the cooled onions and refrigerate until ready to serve. Can be made 2 days in advance.