The hashcode of Address is cached.

During profiling the hashcode of the Address popped up as an issue due
to host.getBytes. This fix add caching to the hashcode calculation
without introducing any 'synchronization' overhead; it is based on the
String.hashcode caching approach.