Fix EntityManagementSupport race for changeListener

- Fixes race where effector called post-exec listener concurrent
  with app.stop(), which unmanaged the app.
  Caused exception, and thus test's tearDown to fail.
Fix thread-safety in NonDeploymentManagementContext
Merge pull request #670 from pveentjer/0.5

resolves the issue with:
Merge pull request #658 from aledsage/cherrypick/EntityManagementSupport-race

Fix EntityManagementSupport race for changeListener (0.5 branch)
Removed cloud foundry module since it is broken
New entity for Apache Kafka messaging
Added test using Kafka API and example application
Wait for JMX availability before setting SERVICE_UP
Organize imports
Update test using Kafka API
Fix port check and sensor name and use RMI agent for JMX in zookeeper
Move common driver code to shared parent class
Increased startup delay to five minutes (300 seconds)
- Added the 'startTimeout' flag and config key to each entity interface; is this really required?
Tidy up interface definitions
Changes based on review comments, including:
- Updating to use latest 0.5.0 APIs
- Adding general Zookeeper entity interface
- Make KafkaCluster implement Group
Added EC2 live test for KafkaCluster
Tidy up the Entities class
- Rename supplier to attributeSupplier
- Add newDownloader method to get DownloadResolver for a driver
- Better javadoc
Tidy up the Exceptions class
- Better javadoc
- Unwrap ExecutionExceptions
Use new method in Entities class to get download resolver
Do not unpack ExecutionException when propagating Throwable