Merge pull request #1180 from aledsage/fix/rebind-does-not-call-init

Fix so rebinding entities does not call init()
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