Add maxVolatileTime para to control data provider flush interval and little refactors
Flush data when data provider time out
Fix a bug in lockAndSwapMem and some refactors
Added the ability to intercept the event, that the ZoieSegmentReader is
not used anymore
Modified the Hourglass class to accept listeners after creation
Fixed the performance issue. Creating IndexWriterConfig each time we open the indexwriter consumes lots of cpu resources