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