Move "Rebindable" to EntityInternal and LocationInternal
Delete deprecated AbstractLocation.getConfigBag

- in favour of getRawLocalConfigBag()
Making location+entity config methods more consistent

- adds getAllConfigBag() and getLocalConfigBag()
- entities store unmatched config, accessible through get*ConfigBag
- child-entities inherit unmatched config
Use location.get{Local|All}ConfigBag

- instead of (now deprecated) getRawLocalConfigBag
Use loc.get*ConfigBag instead of loc.getAllConfig(boolean)

- because entity has a method Map<ConfigKey,Object> getAllConfig()
  so confusing to have getAllConfig(boolean) that returns
  Map<String,Object>
Renamed configBag.getAllConfigRaw to getAllConfigMutable

- and renamed getUnusedConfigRaw
- and changed callers that really didn't need mutable
Convert JavaOptsTest to not use mockito
Persist/rebind unmatched entity config
CLI takes persistence args
Fix EntitySpec.create(EntitySpec)
persist on Entity.displayName changed
Handle null val in TemplatedStringAttributeSensorAndConfigKey
Adds EXPANDED_INSTALL_DIR config/attribute
AbstractController.rebind: re-register policy
Rebinding to app: handle no-interface + no-constructor

- If entity (e.g. WebClusterDatabaseExampleApp) has no interface
  defined and no constructor that takes Map, then still set id etc.
  Otherwise app-entity comes up with wrong id.
Tidy BrooklynLauncher
Merge branch 'feature/rest-descendants' into misc4
Merge branch 'feature/popup-sensor-actions-2' into misc4
Merge remote-tracking branch 'aledsage/feature/location-is-entity-prep' into review

Conflicts:
	core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java - multiple changes for rebinding entity, noted with TODO comment
	systems/paas/openshift/src/main/java/brooklyn/extras/openshift/OpenshiftLocation.java - now deleted
Merge remote-tracking branch 'aledsage/rebind/cli-strike3' into review