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