Extend the ShareContext integration test to verify we can multiple servers.

We now verify that multiple servers can exist inside the same process
space without having to share context's, while at the same time they
both have client and workers each using the corrects servers context.
Servers zmq sockets are now thread scoped to correct termination order.

Basically we need to the socket lifespan to be the same as the thread
that is doing the polling so that zmq doesn't improperly call recv internally
on a thread will it is being cleaned up.

More information on why this is done can be found at:
  http://zeromq.org/whitepapers:0mq-termination#toc3
Merge pull request #138 from robertmaynard/zmq_server_context_cleanup

Zmq server context cleanup