Fixing a thread-pool resource leak in the client handler
Fix for stats calculation in norbert.
Author is SungJu Cho
Refactoring the ConsistentHashPartitionedLoadBalancer to pull complicated constructor into a builder function. A few other minor stylistic changes as well.
Fixing the ConsistentHashPartitionedLoadBalancer for the case where the endpoint is "flapping". What's happening is that some nodes can't satisfy the request, and they're being added the the unsatisfied partitions map where other calculations are added to the results map. Then, we'll use a fall through load balancer (todo: remove that!) to recalculate which one should be used, and add the results back in. However, this inadvertantedly will modify the partition mapping inside the hash ring since Java sets aren't copy on write like their Scala counterparts.

The fix is to just force a deep copy of the underlying set when computing the results.
Copying over toDouble fix
Simplifying the consistent hash partitioned load balancer factory to not use a "fallThrough" object
Removing the response handler shutdown to try to figure out what the change could have been
Trying to patch around a weird bug with missing connected messages by tearing apart the state when it happens
Merge branch 'norbert_bugfix2'

Conflicts:
	cluster/src/main/scala/com/linkedin/norbert/norbertutils/package.scala
	java-network/src/main/java/com/linkedin/norbert/javacompat/network/ConsistentHashPartitionedLoadBalancer.java
	java-network/src/main/java/com/linkedin/norbert/javacompat/network/ConsistentHashPartitionedLoadBalancerFactory.java
	network/src/main/scala/com/linkedin/norbert/network/netty/ClientChannelHandler.scala
	project/Build.scala