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-1139 FTP to HDFS Partitioned Batch Job

- Partitioner
- Tasklet
- Job Configuration (FTP)

XD-1139 Polishing; Add Test Case

* Update to SI 4.0.0.BUILD-SNAPSHOT - fix package for MessageHandlingException.
* Use a new get() method on RemoteFileTemplate to avoid having to build a Message.
* Add a test case to JobCommandTests (Ignored for now - needs hadoop).
* Make DAOs available in all contexts.

XD-1139 Polishing

- Use Hadoop rule in tests
- Add module options

XD-1139 Polishng; PR Comments

* Fix default port and option description violations
* Enforce trailing / on remoteDirectory
* Add 'stepConcurrency' parameter
* Fix RemoteFileToTmpTests
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
XD-1271 Enable Endpoint RequestHandlers

- By default, Boot's EndpointWebMvcAutoConfiguration disables
Endpoints request handlers if the management port set to '0'
If we remove the explicit setting of management port to '0' then
the management port will use the server properties port and
the Endpoint request handlers are enabled.
- Also, removed unused "memory" profile
XD-1276 Add job and step listeners to OOTB jobs

- Adds builtin listeners to job config files.
- Removes notifications from launcher to avoid dup job execution
  msgs.
- Adds beforeJob notifications in default job listener
- Adds a basic script test to check notifications
Add missing RandomConfig support

- Added RandomConfigurationSupport for the tests that use StreamTestSupport
Add completion to jobs and composed modules
XD-1229 + XD-1230 Create build infrastructure for AngularJS based UI

The Grunt-based build infrastructure is based on Yeoman's AngularJS support and then further customized. As part of `XD-1230`, this build process is then further integrated into the larger Spring XD Gradle build. Please see `README.md` for further details.

* Add AngularUI Router dependency
* Add UI-Router routes
* Add LESS support + UI Admin Styles
* Instead of customizing Bootstrap's `variables.less`, we instead import its styles into `main.less` and customize only the variables that changed. That way we can easily upgrade Bootstrap in the future
* Fix a `grunt-usemin` issue with images in CSS files
  - Use fix as detailed here: https://github.com/yeoman/yeoman/issues/824#issuecomment-29137057
  - See also issue: https://github.com/yeoman/grunt-usemin/issues/242
* Exclude vendor CSS, we already import the Bootstrap CSS via `main.less`
* Don't use port 8080 for Karma tests in order to minimize conflicts with Tomcat
* Add "Loading Indicator" support using `angular-busy`
* Add Job launch support + Growl support + define XD Server URL globally
* Use Bootstrap fonts from the distribution
* Improve Job launch support
* Update `.gitignore`
* Update Nodejs dependencies, fix test dependencies
  - Running `npm install` should install all relevant dependencies from `package.json`
* Add Gradle build support
* Import CSS files as LESS resources in `main.less`
  - Otherwise you run into minification issues as Grunt's nsmin does not consider those CSS files
* Remove old `admin-ui`
* Improve resolving of the admin-ui URLs
  - http://localhost:9393/admin-ui --> http://localhost:9393/admin-ui/#/jobs/definitions
  - http://localhost:9393/admin-ui/ --> http://localhost:9393/admin-ui/#/jobs/definitions
* Add task `cleanDist`
* Improve Gradle build - Depend on `spring-xd-dirt:backgroundAdminServer`
* Fix `xd.ui.home` in `application.yml`
  - `xd.ui.home` in `application.yml` should contain a trailing slash
* Add `grunt-bower-task` to Grunt build
  - Allow Bower to be called via Grunt
* Test that the UI builds with `gradle npmInstall installGrunt build`
* Update Node dependency versions
* Fix "Required config property "bower-install.app.src" missing"
  - Bower Install - In `Gruntfile.js`, change config `html: '<%= yeoman.app %>/index.html',` to `src: '<%= yeoman.app %>/index.html',`
* Add Proxying to XD Admin Server via Grunt build
  - Add https://github.com/drewzboto/grunt-connect-proxy
* Better error messages when pulling Job Definitions
* Add `.bower_cache` directory local to project dir
* Add Karma shell scripts
  - I find these shell scripts quite useful when writing unit and e2e tests as you can configure Karma to keep running as a daemon (automatically re-running the tests of code-changes do occur)
* Add Grunt task `testfiles` - useful to prepare Spring XD test files
* Add Karma Safari launcher
* Add Unit and E2E tests
* Remove unnecessary files
  - .gitattributes
  - app/.buildignore
  - app/robots.txt
* Remove old loading Gif `loading.gif`
  - Remove unused related CSS
* Ensure we use only single quotes in JS files
* Improve Favicon support including mobile
* Remove main.css + main.css.map (autogenerated)
* Make sure LESS creates CSS files when executing `grunt serve`
* Update `.gitignore`
* Change Grunt Server Port to 8000
  - Port 9000 conflicts with Sonar
* Improve Gradle Build - `gradle build` will:
  - Install (if needed) node
  - Install (if needed) grunt
  - Download node dependencies for XD UI
  - Run the Grunt build
* `gradle clean` will remove all unnecessary spring-xd-ui folders (e.g. local node modules, bower files etc)
* Run Spring XD UI Grunt build on Eclipse STS import
  - Add task `afterEclipseImport`
  - See for details: https://issuetracker.springsource.com/browse/STS-2059
* Add `README.md`
* Fix live-reloading of Html files
* Fix copying of images in `Gruntfile.js`

XD-1229 Code Review changes

* Remove `.htaccess`
* Run E2E as part of the Gradle test task
* For distribution, copy Admin UI to `spring-xd-ui/dist`
Polishing the UI tasks

- Make spring-xd-ui project independent and not run the build
  as part of 'gradle build'
- Added tasks 'setupUI' and 'cleanUI' that takes care of building/cleaning
  the UI project
- Removed an invalid URL from index.html
XD-1084 Create REST API for getting information on a given step execution

Jira: https://jira.springsource.org/browse/XD-1084
Fix JVM startup error for build on Windows
XD-1285: Command completion for module names
Remove tests related to substreams
Move a composed module related test
XD-1293 Remove JobModule beanId constraint

- Inject JobRegistry and jobName into JobLaunchRequestTransformer
- Check for FlowJob in BatchJobRegistryBeanPostProcessor as this
  is the type created by JobParserJobFactoryBean that loads the
  job module
- Avoid creating GroupAwareJob by not setting the groupName in
  JobRegistryBeanPostProcessor
- Update BatchJobsController to use actual job name instead of
  job name with suffix ".job"
- Updated OOTB job modules job bean id with the name that identifies
  them
XD-1093 Add shell command to display info on step execution

Jira: https://jira.springsource.org/browse/XD-1093

XD-1093 Remove display of Job Name - Not delivered via Rest Call
Fix commented out test
Merge remote-tracking branch 'gary/XD-1139'

- Merging gary's pr.
- Small conflict in build.gradle which was just caused by
  new modules.job.ftphdfs project.
Remove unintentional System.out