Division-by-zero fix in RoundRobinLoadBalancerFactory when no nodes with right capability is online

Old code would send down empty list to chooseNext, which would do '% items.size', triggering ArithmeticException(/ by zero)
Test included
Java-compat, make sure java-nodes are capabilities aware
Java-network: add sendRequest calls which are capabilities & maxRetry-aware.
Merge pull request #38 from linkedin/joe-branch

Adding loggings for fanout distribution.
Merge pull request #37 from stromnet/java-improvements

Misc fixes and improvements
Fixing the race condition involving JMX registration, added stuff to readme
Bumping up the version of gradle.properties
Forgot to include this file in the commit
Renaming the function to avoid confusion
Merge pull request #39 from linkedin/master

Branch sync with current master