feat(Publisher): Adding support for publishing multiple service ports

As discussed in #2044.

This changed the behavior of the publisher into using the interal port as part of the query. Since we want to support multiple ports we somehow need to differentiate the ports but I'd rather not switch to posting JSON or something to keep the keys simple (as they are now).

This has worked great for us and actually makes sense. The query (in pseudo) for the clients will be for example "give me port 5432 of an instance of postgres" and the answer will be "1.2.3.4:49123" or whatever.

I hope I made my point clear about this approach. Will follow up with another PR that cleans up the logging and also deletes etcd keys on docker events when this is merged/rejected.
we should check and error out if HOST is not set