Refactor unique name generation logic

- Changed the method name getStreamName()/getJobName() to read generateStreamName()/generateJobName()
- Refactored the methods
XD-1250 RabbitMessageBus Shutdown

Several issues resolved:

1. The message bus was using unnamed auto-delete queues for pub/sub.
      A connection glitch would cause such queues to be deleted and
      the container could not recover.
   - changed to use AnonymousQueue and configure the admin to redeclare
     the queue and binding when necessary.

2. The module-common context was never closed so the RabbitMessageBus
      containers would go into recovery mode; currently this is a hard-
      wired 15 second delay (3x5 seconds).
   - the ModuleDeployer is now a `DisposableBean` and destroys all
     deployed modules and the common module context.

3. Changed `RabbitSingleNodeStreamDeploymentIntegrationTests` to delete
      the deployment queues after all contexts are closed.
Upgrade Spring Data Redis to 1.1.1
Update Redis host/port placeholer keys

- Updated Redis host/port placeholder keys to use VCAP redis service
for CF deployments
Fix AbstractSingleNodeStreamDeployment Tests

- Reset testMessageBus to null in @AfterClass
Thanks to @DavidTuranski for the suggestion
- Also removed the explicit check on local transport
  as it is not needed now
- Added back forkEvery flag to test configuration in spring-xd-dirt
XD-1173 Include index in source channel names

(fixed parser bug)

restored log4j.properties

restored StreamConfigParser
Configure Boot's EndpointMBeanExporter

- Enable JMX on boot endpoints if XD_JMX_ENABLED set to true
- Set 'endpoints.jmx.uniqueNames' to true to work around the current
  issue with Boot to uniquely generate the objectName for the MBean
  that exists in both parent/child contexts.
Upgrade to Spring 4.0.1
Add Redis ConnectionPool config

- Updated application.yml with connection pool configs that
  is used in Boot's RedisAutoConfiguration$RedisProperties$Pool
XD-639: Use better msg when trying rm w/o --recursive
XD-1268 Removed unused accepted media types from  MessageBus
simplified (de)serialization method names
Add Redis queues cleanup after tests

- Added cleanup logic to delete Redis queues after test run
in RedisSingleNodeInitializationTests and RedisTestMessageBus

Call application.close() appropriately

- Since the RedisTestSupport's cleanupResources() would
destroy the Redis connection factory, closing the application
at the cleanup() help destroying all the bindings' endpoints
before the connection factory is destroyed.
Update to SI, SA Milestones

*Spring Integration 4.0.0.M3
*Spring AMQP 1.3.0.M2

Note: SI now includes `spring-integration-mqtt`

Also fix a race condition in JobCommandTests.testStopJobExecution:

org.junit.ComparisonFailure: expected:<STOPP[ED]> but was:<STOPP[ING]>
	at org.junit.Assert.assertEquals(Assert.java:115)
	at org.junit.Assert.assertEquals(Assert.java:144)
	at org.springframework.xd.shell.command.JobCommandTests.testStopJobExecution(JobCommandTests.java:433)

Polishing - PR Comment

Fix loop waiting for job to stop.
XD-1274 Fix Schema Imports

Reactor and Hadoop were importing the core SI 3.0 schema
instead of 4.0.
XD-954: Provide DSL completion for simple cases

Wire completion provider to the REST layer and Shell

Fix trailing space handling

Add parser recovery logic

Generalize provider logic = recoveries | expansions

Change tests to accommodate new parser behavior

Fix counter module options following rebase

Fix fallthrough warning

Fix serial version warning

Fix generics warnings

Fix typos

Rename strategy methods

Rename CodeCompletion -> Completion

Reference issue numbers in ignored tests

Rename CompletionKind.composed to module

Rename CodeCompletion -> Completion

Use Spring SHL SNAPSHOT