Now using a single socket.

Obviously zeromq does not like when mulitple goroutines use the same
socket. Old implementation opened a socket on every Call() but (and this is only
speculation) if go opens and closes sockets too frequently things will go
haywire.

New implementation uses one socket per rpcman, so you'll have to make sure that
rpc.Call()'s are behind some kind of mutex or lock.
new tests for new implementation
small mods