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.
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