Add DataCenterInfo and a few other abstractions:
* NetworkAddress - to represent multiple NICs on a server associated with
                   private and public IP and/or hostname
* InstanceInfoProvider - provides local InstanceInfo information
* DataCenterInfoProvider - provides information about server's own data center

This commit contains a refactored version of Avro transport, that is migrated
from dynamic JavaBean schema generation to explicit Avro IDL schema definition.
Auto-generation proved to be unflexible, and forced us to implement
workarounds, each time domin model was extended. Having Avro IDL has also a benefit
of applying it to non-Java Eureka clients, shall we stay with Avro afterall.
Merge remote-tracking branch 'netflix/2.x' into 2.x
Enable tests there were accidently commented out.
Working on channels (WIP)
Merge pull request #186 from tbak/2.x

Add DataCenterInfo and a few other abstraction
Merge branch '2.x' of https://github.com/Netflix/eureka into 2.x-channels

Conflicts:
	eureka-core/src/main/java/com/netflix/eureka/registry/InstanceInfoField.java
	eureka-core/src/main/java/com/netflix/eureka/transport/EurekaTransports.java
	eureka-server/src/main/java/com/netflix/eureka/server/transport/tcp/registration/AvroRegistrationModule.java
	eureka-server/src/main/java/com/netflix/eureka/server/transport/tcp/registration/JsonRegistrationModule.java
WIP
Fix failing tests.
Channel/transport updates - WIP
Reimplement MessageBroker acknowledgement timeout mechanism.
Get rid of acknowledgement correlation id.
Merge pull request #188 from tbak/2.x

2.x reworked channels
Channel/transport update - WIP.
Merge pull request #191 from tbak/2.x

Channel/transport update - WIP.
A few improvements to Eureka CLI, to speed up manual testing process.
Standardize InstanceInfoField names
Merge pull request #192 from qiangdavidliu/2.x

Standardize InstanceInfoField names
Test framework updates:
- added interest command to CLI tool
- added testEurekaServer with pre-registered apps
- minor package refactoring
Merge pull request #193 from qiangdavidliu/2.x

Test framework updates
Implement interest channel upgrade.
Merge remote-tracking branch 'remotes/netflix/2.x' into tbak/2.x

Conflicts:
	eureka-test-utils/src/main/java/com/netflix/eureka/cmd/EurekaCLI.java