* Benchmarked with https://gist.github.com/3720666
* Instead of using TreeMap and rangeImpl this uses
an sorted array of hash values of the nodes, and
uses binarySearch in java.util.Arrays to find
next node clockwise
* Benchmarked with https://gist.github.com/3720666
* Benchmark results show improvement from 500 kmsg/s
to 700 kmsg/s, round-robin handles 1300 kmsg/s
* Makes it thread safe
* Also changed two scary (mutable Array) fields in MurmurHash to private
* Note in migration guide about changed api for ConsistentHash
* The small problem was that it picked node counter clockwise
in the ring for all, except for crc < firstKey, where it picked firstKey
instead of lastKey
* Changed to clockwise selection and correct selection
at the boundary, i.e. hash > lastKey => firstKey
and hash < firstKey => firstKey
* Changed to TreeMap instead of the 2 separate TreeSet and Map
collections
* Cleanup and documentation