Log Saver process throws OOM exception. 

Currently there is no limit on the number of events that can be in the in memory messageTable which could cause the Log Saver to throw OOM.

Fix is to maintain the in memory window of events containing fixed number of buckets (controlled by config variable "log.saver.event.max.inmemory.buckets") in the messageTable. 

If the in-coming event falls out of the window then sleep till the window moves forward and include the event.  
If the set doesn't need to modify, use `ImmutableSortedSet.copyOf()`.