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

No, it cannot be. There must be a client configuration for a client. If not passed in when the client is constructed, a default one will be used.