Added withBlockOnMaxConnections() option

User can choose whether to have the node block or not if
a max number of connections has been set and all of them
are in use when an operation is submitted.

This isn't perfect from the view of a naive round-robin NodeManager but moving it up the stack opens 
up a can-o-race-conditions that gets ugly in a hurry. The current RJC simply pukes an exception if there's 
no connections available so from that point of view this is an upgrade. 

Closes #309