Merge pull request #206 from NiteshKant/2.x

Client side refactoring
Add AuditService API with Suro implementation - WIP
Merge remote-tracking branch 'remotes/netflix/2.x' into 2.x

Conflicts:
	settings.gradle
Replace SuroAuditService with KafkaAuditService + integrate it with write server.
Implement extensibility framework with module auto loading mechanism.
Further work on eureka-client API + example application.
Merge pull request #207 from tbak/2.x

2.x audit service + further work on eureka-client API + example app
The modifications in this commit should be part of the previous one
(42ea54c2d03b81a4c2631bf8bb142aeb428f01dd), but due to my mistake were not
added to the change set.
Merge pull request #208 from tbak/2.x

The modifications in this commit should be part of the previous one
Upgrade to latest ribbon/rxnetty/karyon version
(2.0-RC9, 0.3.13, 2.1.00-RC5 respectively).
Merge pull request #209 from tbak/2.x

Upgrade to latest ribbon/rxnetty/karyon version
Refactor of InterestChannel to consolidate apis
Remove dead code
Replication related API update - WIP
Merge pull request #211 from qiangdavidliu/2.x

Refactor of InterestChannel to consolidate apis
Merge pull request #210 from tbak/2.x

Replication related API update - WIP
Added server-side versioning and clientInterestChannel checks to deal with duplicates.
Removed lease times from data model as it will be handled by the channel.
Eureka read/write server self registration + eureka client update.

Eureka client can now resolve eureka read cluster using discovery endpoint
on the write cluster.
This commit adds also a startup configuration mechanism for
read/write server runners.
Merge pull request #212 from qiangdavidliu/2.x

Duplicate interest handling
Merge remote-tracking branch 'remotes/netflix/2.x' into tbak/2.x

Conflicts:
	eureka-core/src/main/avro/eureka-registry-model.avdl
Merge pull request #213 from tbak/2.x

Eureka read/write server self registration + eureka client update.