Use entity proxy, rather than direct entity ref

- Adds EntityManager interface
- Adds ApplicationBuilder as a tailored interface for defining apps
- Adds Recipe for defining an entity to be created
- Adds entityManager.createEntity(Recipe) for creating new entities
- Adds EntityProxy (a dynamic proxy for calling entities)
log.trace for effector args / sensor val

- One tests (that things GC'ed) creates many 10MB sensors and 10MB
  effector args. These were all being logged at debug, killing
  the test.
fixing tests
convert TomcatServer to interface+impl
Delete TomcatServerTest

- Test has been disabled for a very long time, and relies on
  groovy magic that won't work anymore because we're TomcatServer
  was converted to Java.
Convert KarafContainer to interface+impl
Convert RabbitBroker to interface+impl
Convert PostgreSqlNode to interface+impl
Convert MySqlNode to interface+impl
Convert QpidBroker to interface+impl
Convert ActiveMQBroker to interface+impl
Convert DynamicGroup to interface+impl
DynamicCluster: take memberSpec

- as well as accepting "factory" for creating new members, allow an
  EntitySpec to be supplied
Convert BasicGroup to interface+impl
Convert TestCluster to interface+impl
Convert TestEntity to interface+impl

- and update uses to use the new builder, rather than constructors
Convert DynamicCluster to interface+impl
DynamicFabric: take entitySpec as well as factory

- And extracts fields as ConfigKeys
Convert DynamicFabric to interface+impl
Convert TestApplication to interface+impl