Full DiscoveryClient Governation

Alternative implementation to #93 with full DI support for DiscoveryClient without the need for a Guice module.  This implementation is also fully backwards compatible with DiscoveryManager.getInstance()