Add alias address to agent service endpoint

This is my first pass at fixing #249.
I'm not that experienced with go, yet, so I'm looking for feedback.
I hope that I covered all situations for service address handling.

The agent endpoint now accepts an `Address` property that will set the address of the service. The catalog endpoint will return this address instead of the address of the agent/node.