Client side refactoring

-- Introducing a EurekaClientRegistry which feeds to all users of the client.
-- Separated eureka-server, eureka-read-server and eureka-write-server
Module split into write/read server will complicate code sharing between the two. The common module is eureka-core which is also required by the client. Now if we want to add common audit service abstraction for both read and write server this will end up in eureka-core, so be part of eureka-client dependency. There will be more such things, possibly with dependency to third party libraries.