XD-1085 Add JobExecution stop REST endpoint

- Added stop() REST endpoint at BatchJobExecutionsController
- Added JobExecutionNotRunningException, NoSuchJobExecutionExecption as
  XDRuntimeException
- Mapped these exceptions as HTTP Not Found errors
- Move JobExecutionInfoException to JobExecutionException
XD-1010: Use eventually() matcher for file sinks
XD-1129: Limit caching of snapshot dependencies.

Sets gradle's resolution strategy for "changing dependencies"
to only cache them for 60 minutes.
XD-1117: First script tests for use in CI build.
XD-1117: Add urlencode of definition in scripts

The CI server has an outdated version of curl which doesn't
support the --data-urlencode option, so we use python instead
to encode the definition before passing it to curl.
Add wait_for_server fn to scripts
Reduce noise from curl
Ensure Boot defaults available for MVC
XD-1128: Add JMX support to parent contexts

Also rely implicitly on Spring Boot to set up the Jolokia
endpoints. Example:

http://localhost:9393/jolokia/search/xd.*:type=*,*

Disable jolokia endpoint by default
XD-1070,XD1071 filehdfs job module fixes

- Add basePath and fileSuffix parameters to module
- Create basePath if necessary
- Improved rollover counter naming in the case where multiple jobs may
  be using the same base path.
- Extend AbstractItemStreamWriter so HDFS stream is closed when job ends
XD-806: Module options validation at the parser level

Add jsr303 validation
XD-1131: Easy support for inputType/outputType as option metadata

Make base classes abstract

Addressed review comments
XD-1106: JDBC to HDFS module
XD-1106: Allow use of 'sql' option.

This allows more flexibility than just setting the table and columns.
Also renamed 'names' module to 'columns' for consistency with JDBC sink.