Refactoring of load balancer execution API and add ExecutionListener

* Refactored the load balancer execution API as part of #161
* Addressed issue #146
* Added meta info to Server to capture additional service and instance information in deployment environment

We had the same thing in governator and eventually had to add a method called withAdditionalListeners for backwards compatibility.  This caused a lot of ambiguity with sequences of withAdditionalListeners mixed with withListeners.