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

consider extending Func1<Server, Observable<T>>.  It would make it easier to compose using Rx.