XD-1357

If ZooKeeper is available based on the client connect string, the Container's host and PID are written to an ephemeral node under /xd/containers.

That node's name will match the Container ID.

The ID is generated within ContainerMetadata and set on the ApplicationContext via an initializer.

Removed the ContainerStartedEvent publishing from ContainerServerApplication.
Exclude jline 0.9.94 dependency from curator

- The subproject spring-xd-dirt's compile dependency Curator 2.4.0 has jline 0.9.94
as a transitive dependency.
Currently, spring-xd-shell's spring-shell has jline-2.11 as the dependency.
Since, spring-xd-shell has spring-xd-dirt as "testCompile" dependency, there is
a conflict using spring-xd-shell only from within IDE.
Fix broken twitter modules.

Stream and search were both broken due to

- Changes in version of httpclient expected by Spring
- Inconsistent jackson versions between dirt and module

This modifies the reflection hack to account for both types of client
connection factory which Spring can create. Currently adding httpclient
4.3.3 causes a separate problem where the build hangs when running with
rabbit, so the original plan of ensuring httpclient was on the classpath
and therefore an HttpComponentsClientHttpRequestFactory was created is
not acceptable.
XD-1352 JobLaunch request handling

- Throw ModuleNotDeployedException if the job module is not already
deployed in the container that processes "job launch" request
- If the underlying control bus is Rabbit, then this would enable
the MessageListenerContainer not acknowledging the DeploymentRequest message
thereby the message gets processed by a different container. This process
would go on until the container that has the deployed job receives the
DeploymentRequest.