converted locations to using strongly typed keys -- first part of major cleanup
introduce a new AbstractCloudMachineProvisioningLocation,
and restructured JcloudsLocation so a bit easier to follow
added support for sub-locations, and minor location API tidy
refactored jclouds-location to separate project
moved jclouds dependencies out of core and into locations/jclouds
move from brooklyn.location.basic.jclouds to brooklyn.location.jclouds, and move resolver across too
minor tweak to jclouds
Merge branch 'master' into fix/locations-typed-keys-and-jclouds-much-nicer

Conflicts:
	core/src/main/java/brooklyn/entity/trait/Configurable.java -- added javadoc, while in master was moved to api package; easily merged
Merge branch 'master' into fix/locations-typed-keys-and-jclouds-much-nicer
minor fixes, for waiting for SSH machines, and extending the ssh config
some useful utils when extending for subnets
fix code review spacing, and allow locations to define address + hostname sensors
don't use CanonicalHostname in case user has set a specific name (or ip) for a good reason;
if you need canonical, grab it when we are creating the location, or use a new (enriched) sensor
minor tidy
Merge branch 'master' into fix/locations-typed-keys-and-jclouds-much-nicer

Conflicts:
	software/database/src/test/java/brooklyn/entity/database/mysql/MySqlLiveRackspaceTest.groovy
	software/database/src/test/java/brooklyn/entity/database/postgresql/PostgreSqlRackspaceLiveTest.groovy
imports only
Merge pull request #549 from ahgittin/fix/locations-typed-keys-and-jclouds-much-nicer

JcloudsLocation in separate project
DynamicFabric: implement group

- So that summingEnricher, etc can automatically pick up members.
- So has symmetry with DynamicCluster.
Adds DynamicWebAppFabric
Adds DynamicFabric.getFabricSize()
Application builder: for raw-classes, proxy implements all interfaces

- If creating an application (passing in impl Class), then want
  proxy to implement all of its interfaces.
- Adds EntitySpec.getAdditionalInterfaces
- Adds minor conveniences to MutableList.builder and MutableSet.builder
- BrooklynRestResourceUtils.create() looks up additional interfaces
- Fix wrong import on REST's ApplicationSpec
- Fix REST's ApplicationSpec.type for inner classes:
  use type.getName() instead of getCanonicalName() so can be
  subsequently classloaded.