First pass at eureka extention providing Guice bindings
Current instance status notification

Add RefreshCallback so that custom instance status check logic can be
implemented after getting an update from discovery.
Add Cancel/Register support to MockRemoteEureakServer
Add eureka-lifecycle project with a guide module for eureka bindings.
Includes binding for an Rx Observable<Boolean> with running instance up
status notification
Fix typo in Eureka client
Allow for multiple RefreshCallback subscriptions

Improve MockRemoteEurekaServer
Merge pull request #95 from bpollack/typofix

Fix typo in Eureka client
Merge remote-tracking branch 'upstream/master'
Use EventBus for discovery status notification instead of an internal
handler
Get rid of Rx status stream
Revert changes to MockRemoteEurekaServer until it can be fixed properly
Fix unit tests
Modify MockRemoteEurekaServer to use an ephemeral port so we never have existing binding errors
Fixes issue #93 #97 #98 #99

1) Implementing clean shutdown of client. Moved away from Timer to ScheduledExecutorService as it gives better control of shutdown by interrupting the running thread, which is what we want.
 2)
Using ephemeral ports for eureka server mock. Thanks @elandau !
Incorporating review comment.
Added testcase for app group.
Merge pull request #100 from NiteshKant/master

Fixes issue #93 #97 #98 #99
Merge
Fix the unit tests by setting proper properties in advance

Make MockRemoteEruekaServer an ExternalResource so it can be used as an
@Rule
Fixing the scheduling delay for InstanceInfoReplicator.

The timeunit got changed to Seconds but the value was still MS
Merge pull request #101 from NiteshKant/master

Fixing the scheduling delay for InstanceInfoReplicator.
remove import of com.netflix.logging.* from status.jsp, as it does not appear to be actually used, and makes jetty9 angry as there are no classes at that node of the package namespace, only below it. alternate fix, if classes are needed, is to import deeper into the package space where needed. But if its not referenced, removal is probably better.
Full DI for DiscoveryClient

Full DI support for DiscoveryClient with backwards compatibility for
DiscoveryManager.getInstance().  There are default implementations
(cloud) for all DiscoveryClient components and DiscoveryClient can now
be injected directly without the need for a guice module to specify any
of the bindings.
Namespace override is done by binding a String annotated with
@EurekaNamespace in a bootstrap module.