Dynamic discovery for zmq server and client

This is ready for some initial feedback. So far only the server side is implemented. I based this branch off of my [instantiate_runner_and_server](https://github.com/devin-c/protobuf/tree/instantiate_runner_and_server) branch.