Prevent duplicate triggers from being added

Triggers were indeed being added more than once. You already had a function to handle that so I utilized it. Also added a FlushTriggers() extensions since you could do a cache.FlushAll() but leave all of your triggers orphaned. Not sure if that is really a problem, but can't hurt much to add. It would be good to hook it into the MemoryCacheClient.FlushAll() method so that you don't even have to think about it. Can't do that until this is merged though.