Module doc generation: handle the case for 0 options
Support SSL for RabbitMQ

Follow the RabbitMQ instructions to set up SSL for rabbitmq:

https://www.rabbitmq.com/ssl.html

In application.yml, servers.yml etc...

Property `useSSL` for simple SSL (no certificate validation).

Property `sslProperties' points to a protected properties file with secrets...

````
$ cat /secret/sslprops
keyStore=file:/secret/client/keycert.p12
trustStore=file:/secret/trustStore
keyStore.passPhrase=secret
trustStore.passPhrase=secret
````

servers.yml:

````
spring:
  rabbitmq:
   addresses: 10.0.0.3:5671
   username: guest
   password: guest
   virtual_host: /
   useSSL: true
   sslProperties: file:/secret/sslprops
````

XD-1978 Polishing - PR Comments

Rename factory bean
Add asserts
XD-1978 polishing
XD-1985 : Packaging of Guava 17 results in failure to deploy mapreduce job to Hadoop 2.4 based distros
Replace hardcoded use of 15.0 for $oldGuavaVersion
XD-1985 - Guava packaging cleanup - take 2
Added stream state tests

Improved assert message
XD-1982 Add https Support to http Source

Tested as follows:

- Obtained an SSL certificate from startssl.com (free) for my domain
- Installed into a keystore along with startssl's trusted and root certs...

````
gpr@testserver:~/Documents/startssl$ cat testserver.pem sub.class1.server.ca.pem ca.pem > chain.pem
gpr@testserver:~/Documents/startssl$ openssl pkcs12 -export -in chain.pem -inkey ssl.key -out testserver.pkcs12
````

- Installed the intermediate a new cert into java's cacerts...

````
gpr@testserver:/usr/lib/jvm/jdk1.7.0_51/jre/lib/security$ sudo keytool -import -trustcacerts -keystore cacerts -alias testserver -file ~/Documents/startssl/testserver.cer
gpr@testserver:/usr/lib/jvm/jdk1.7.0_51/jre/lib/security$ sudo keytool -import -trustcacerts -keystore cacerts -alias startsslsubclass1 -file ~/Documents/startssl/sub.class1.server.ca.pem
gpr@testserver:/usr/lib/jvm/jdk1.7.0_51/jre/lib/security$ sudo keytool -import -trustcacerts -keystore cacerts -alias startsslroot -file ~/Documents/startssl/ca.pem
````

(Default password for java cacerts `changeit`)

The startssl.com root cert is already in the cacerts.

Add fully qualified hostname for the server for which the cert was created to /etc/hosts

- Start singlenode
- Start shell

````
xd:>stream create foo --definition "http --https=true --secrets=file:/home/gpr/tmp/httpssl | log" --deploy
Created and deployed new stream 'foo'
xd:>http post --target https://testserver.mydomain.net:9000 --data "hello"
> POST (text/plain;Charset=UTF-8) https://testserver.mydomain.net:9000 hello
> 200 OK
````

````
17:57:11,138  INFO pool-11-thread-7 sink.foo - hello
````

XD-1982 Polishing

Rename ssl properties location field and make it consistent with rabbit.

xd:>stream create foo --definition "http --https=true --sslPropertiesLocation=file:/home/gpr/tmp/httpssl | log" --deploy
Created and deployed new stream 'foo'
XD-1986 Fix package tangle

- Move `rest.client.domain` to `rest.domain`
- Move `org.springframework.xd.rest.client.util` to `org.springframework.xd.rest.domain.util`
- Remove copyright headers from package.info
- Move `RestTemplateMessageConverterUtil` to package `org.springframework.xd.rest.domain.support`
XD-1989 Remove hadoop cmds' warning/deprecations

- Use appropriate argument `-R` for recursive `ls` command
to avoid deprecation message
- Set `org.apache.hadoop.util.NativeCodeLoader`'s logging level
to `ERROR` to avoid warning message while loading native hadoop library
- Remove `deprecated` method usage `org.apache.hadoop.fs.FileStatus.isDir()`
as we no longer support hadoop 1.x
- Change `hadoop config fs` prompt to use URL and file:///|hdfs://|webhdfs://
XD-1984: all modules deploy to the first container

When a container arrives, use the RedeploymentContainerMatcher
to issue deployments for unallocated modules. This reuses
the logic for container departure.

This change makes it less likely that a system restart will
result in all modules being deployed to the first container
that arrives in the cluster.

A side effect of this change is that ArrivingContainerModuleRedeployer
no longer needs to query for the deployments on an arriving
container because the redeploy logic for modules in
ModuleRedeployer already prevents the deployment of
duplicate modules to a container.

2nd commit message:

XD-1984 polishing

3rd commit message:

wip

4th commit message:

Updates from review
DistributedTest: Use random available port

- In StreamPartitionTests, use `SocketUtils.findAvailableServerSocket()`
instead of port `9000`
XD-1991 - Suppress logging benign shutdown error for RC1, need better fix for 1.0.0.RELEASE

- Update xd-singlenode-logger.properties
- Update xd-container-logger.properties
- Update xd-admin-logger.properties
XD-1975 Avoid IllegalStateException on stream stop
bump version in README
Release version 1.0.0.RC1
Released 1.0 RC1 - change version to 1.0.0.BUILD-SNAPSHOT
XD-1995 StepExecution count for JobExecution

- Spring batch admin `SimpleJobService`'s `getJobExecutions(int start, int count)`
doesn't have step executions count for each job execution returned.
 - Get step executions explicitly for each job execution in the list
XD-1462: Tests for AggregateCounter

Fix warning
XD-1937 - Added licenses for all third party dependencies that are not Apache 2.0