This makes it more likely for the behavior of UNIXSocket to be similar (or even identical) to the behavior the TCPSocket. To fix wrong behavior of #read_nonblock on a UNIXSocket on JRuby, fall back on the blocking #readpartial. This should fix #293.
Before this commit the method was able to return all the nodes from the first node up to the end of the array sorted_keys, representing the hash ring. However while the sorted_keys is an array, it represents a ring, so node iteration should be able to traverse all the nodes in the ring, and should always return @ring.size elements.