Create ManagementContextInternal

- Adds the interface ManagementContextInternal
- Remove references/casts to AbstractManagementContext;
  instead use ManagementContextInternal.
Remove EntityManagementSupport.getManagementContext(boolean)

- Just have getManagementContext(), which will always return
  either the real or the "non-deployment" management context.
  Relies on failing fast by subsequent calls failing, if not
  permitted on the "non-deployment" management context.
NonDeploymentManagementContext implements ManagementContextInternal
Don't deprecate AbstractEntity.getManagementContext()

- Use getManagementContext() in preference to
  getManagementSupport().getManagementContext().
- Remove @Deprecated from AbstractEntity.getManagementContext()
  and from EntityInternal.getManagementContext()
- Fix the "deprecated since 0.4" to say "deprecated since 0.5"
  for EntityLocal.getManagementContext; prefer folk to use
  EntityInternal.getManagementContext().
Don't deprecate EntityInternal.getExecutionContext()

- Still deprecated in EntityLocal.getExecutionContext()
  TODO: is this right?!
- Not deprecated in EntityInternal though.
  Don't expect people to always call getManagementSupport().getExecutionContext().
Tidy NonDeploymentManagementContext
javadoc cleanup
Renamed BasicEntityDriverFactory to BasicEntityDriverManager
AddressableLocation now extends Location
NoMachinesAvailableException: deprecate Location field

- So that it will definitely be serialisable
Deprecate TaskStub
cleanup: incorporate review comments

- ExecutionManager returns immutable copies of task sets
- Tidy up some javadoc text
- Delete deprecated brooklyn.entity.ConfigKey (instead use 
  brooklyn.config.ConfigKey)
Merge pull request #609 from aledsage/fix/cleanup

Some cleanup (e.g. javadoc etc)
managementContext: incorporate review comments
Merge pull request #608 from aledsage/fix/getManagementContext

Improve getManagementContext
Fixing CLI integration test
- Uses ApplicationBuilder
- Reports original exception for timeouts
Merge pull request #612 from grkvlt/cli-integration-test

Fixing CLI integration test
fixed MySqlLiveEc2Test
Merge pull request #618 from andreaturli/MySqlLiveEc2Test

fixed MySqlLiveEc2Test
Add EntitySpecs.spec(Class)

- Use EntitySpecs.spec() instead of BasicEntitySpec.newInstance()