Fix mqtt default configuration

Split source and sink configuration
XD-1172  Restore --hadoopDistro
Small renaming and comments added
Fix rabbit source

- Fixed rabbit source's connectionFactory to read as "rabbitConnectionFactory"
- Added rabbit.properties under ${xd.config.home}
Fix rabbit source/sink

- Fix config/rabbit.properties to have default values
- Set rabbit sink's 'cloud' profile connection factory to read
  'rabbitConnectionFactory'
Fix typo on property
Added username and password to RabbitSourceOptionsMetadata - WIP

The values aren't applied, needs investigation
Fix Redis properties prefix

- replace 'spring.data.redis' to 'spring.redis'
@Value for ModuleOptions

Move MOMResolver as a spring component

Apply logic from https://github.com/spring-projects/spring-xd/pull/486
XD-1189 Fix rabbit sink

- Set RabbitTemplate's connectionFactory to use
  module's connectionFactory
Fix vhost property of rabbit source/sink

Updated the property to use 'vhost' as in RabbitSourceOptionMetaData
and keep it the same for rabbit sink as well
Revert @PropertSource at MqttSourceOptions

- Added the placeholder properties back to source mqtt.xml
- Removed the bean validation constraints from MqttSourceOptionsMetaData
XD-954: Provide code completion for the simple cases
Wire completion provider to the REST layer and Shell
Fix trailing space handling
WIP
Added parser recovery logic
WIP generalize