Prep for upgrading to guava 18

- remove deprecated uses of guava 17 code, so will compile against 18.
- useful for if testing out jclouds 2.0.0-SNAPSHOT locally.
Adds HasNetworkAddresses interface

- implemented by MachineLocation
- useful for advanced networking, when SubnetTier wants to
  choose private or public address, depending on context.
JcloudsLocation: avoid NPE if node.getImageId null
JcloudsLocation: white space tidy
jclouds machine: if !waitForSshable don’t ssh for machine-details
Adds jclouds.labs:vcloud-director dependency
Entities must initialise their service state enrichers

And fix BindDnsServerLiveTest
Catalog: Set id of items added from classpath to typename

Keeps backwards compatability
jsgui: Replace _.template with custom function that strips comments
This closes #191
This closes #192
This closes #196
Typos and String equality
RendererHint.DisplayValue supports ConfigKey

Used to add a `censored' hint that's applied to a Brooklyn node's
MANAGEMENT_PASSWORD.
Removes synchronization to prevent deadlock
HaMasterCheckFilter permits non-GET/HEAD requests with Brooklyn-Allow-Non-Master-Access
Added presentInstances method to Maybe
This closes #202

* github/pr/202:
  Added presentInstances method to Maybe
Fix for missing values in UI

The JSON serializer doesn't play well with Tasks, make sure that it gets either the Future value if completed or null otherwise. Ignore exceptions as well.
Unmanage BrooklynNode entities on stop* effectors.

Keep the consistency with mirrored entities where they unmanage themselves when the remote app is stopped.