Addition of UniqueIdentifier interface for use by InstanceInfo

Added the UniqueIdentifier interface and modified InstanceInfo to call this getId method if this interface is implemented, rather than checking if name is Name.AMAZON. Updated AmazonInfo to use this.

This change is to allow non-amazon instances to be identified by a mechanism other than their hostname - e.g. multiple docker containers on the same host, registering with Eureka with the docker-host address.