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.  
Previously inside 'while' loop copy operation of the rowset was happening for every event. Now removed that. Following are the operations that are currently happening in the while loop -
1. Find the oldest bucket key in the table which is constant time.
2. Check if current event key falls in the window [oldestBucketKey, oldestBucketKey + maxNumberOfBucketsInTable] which is also constant time.