Improved message retrieval efficiency

Instead of using LRANGE 0 -1 to retrieve the entire message list, the message list is pulled from Redis in smaller fixed size blocks. This significantly reduces the peak memory usage of the listener sync() function and __get_period__ handling when the message list gets really big. This has very little impact on message retrieval time, based on limited testing.