null fail-fast checks in JavaClassNames, new classpath: url generator, and replace some entities to use that url generator
fix SSH-CLI tool use of RunAsRoot, and correctly echo the "Executing..." line
fixes following code review
add new property not to show extra output in ssh library, so that execCommands for CLI works as it should (and not show Executed ... message)
Merge pull request #782 from ahgittin/scripting

tidy of JavaClassNames, better usage, and fixes to ssh-cli use of new RunAsRoot
Merge pull request #784 from aledsage/refactor/AbstractEntity-getLocations-immutable

AbstractEntity.getLocations: return immutable copy
Merge pull request #778 from aledsage/cleanup/remove-entity-constructors

Cleanup: remove entity constructors
Adds BrooklynStorage support
Wire up storage in AbstractEntity/attribs/config
Add Entity.getCreationTime for DynamicCluster.defaultRemovalStrategy

- Entity.getChildren() no longer guarantees order of returned collection
  because can be backed by a datagrid
- Adds Entity.getCreationTime
- default removal strategy for DynamicCluster (which removes newest)
  finds entity with most recent getCreationTime()
Add SetConfigKey and deprecate ListConfigKey

- config map no longer ordered, so ListConfigKey is no longer ordered;
  So deprecates ListConfigKey
- Adds SetConfigKey
- Change UsesJava.JAVA_OPTS to be a SetConfigKey instead.
Adds BrooklynStorage.createAtomicLong

- Ended up this not being used; should it be included?
  Feels useful;
  But depends if data grids support it easily...
Switch PseudoDatagrid to use unordered map

- because that's more like what data grids will give us
Store AbstractEntity.locations in brooklyn-storage

- Adds BrooklynStorage.createNonConcurrentList()
- Adds MutableList.Builder.buildImmutable()
- Adds BasicReference(T val) constructor
storage: Incorporate review comments
Adds storage.remove(id); call on entity deletion
Change datagrid/storage to return ConcurrentMap
Renamed PseudoDatagrid to InmemoryDatagrid
AbstractEntity.displayName: in storage
AbstractGroup.members: in storage