-Added a voldemort client shell with suport for avro stores

- testing done:

for a store with schema

<key-serializer>
      <type>avro-generic-versioned</type>
      <schema-info version="0">"string"</schema-info>
    </key-serializer>
    <value-serializer>
       <type>avro-generic-versioned</type>
      <schema-info version="0">"string"</schema-info>
    </value-serializer>

operations would be:
put "a" "b"
get "a"
The regular expression did not work for reords and unions
Added ability to track key size in StoreStats
Change store tracking for 95th and 99th improvement

1. Use a smaller range histogram with higher accuracy
2. Changed update window from 5 minutes to 2 minutes
3. Changed update method for q95th and q99th values
4. Changed value type of q95th and q99th from long to double
Adding prune job to fix versioned puts post rebalance
Adding getAndLock and putAndUnlock storage calls
-- Intended for the VersionedPutPruneJob
-- Enables custom read-modify-write logic
Adding releaseLock(handle) for error handling and cleanup
Add throttle option to repair job
Unit test for repair job
Add throttle option to versioned put prune job
Address review comments
Adding test for Prune job
Timestamp based resolving for UpdateEntries

* Refactored all the streaming write classes to reuse network IO code
* Tests for Timebased resolving
* Tests for getAndLock and putAndLock
* Fix broken MySQL repair job from previous changes
* Reimplemented multiVersionPut using getAndLock and putAndLock
Adding the missed file
Preventing DataCleanup Job from running during maintenance
Addressing code review comments.