Client side refactoring

-- Introducing a EurekaClientRegistry which feeds to all users of the client.
-- Separated eureka-server, eureka-read-server and eureka-write-server
The changes here breaks the expected behaviour of flatten, as the internal interests of a MultipleInterest can also be MultipleInterests