Seppuku

Track error occurrences and shutdown service instance once a defined number of unique messages have errors in a defined time period.
I decided to care about uniqueness because I didn't want the potential of a single bad message, placed into the queue multiple times for whatever reason to cause a shutdown. My first pass used a set, but this seemed like the best compromise given the functionality constraints, specifically the timed expiration of unique messages. I also am not terribly worried about the speed, since the max size of this thing is equivalent to the value of limit.