XD-2286: Simple OOTB job for testing

The "timestampfile" job will append the current date/time to a file
when launched. This job can be used to validate a Spring XD
installation and to verify that jobs can be deployed. This serves a
similar purpose to "time | log" for streams.

This job supports the following options:

fileName
  Name of file to write timestamps to. Excludes parent directory and
  file extension. Defaults to the job name.

directory
  Name of directory to write timestamp file to. Defaults to
  "/tmp/xd/output/".

fileExtension
  Extension for file to write timestamps to. Defaults to "txt".

format
  How to render the current time, using SimpleDateFormat. Defaults to
  "yyyy-MM-dd HH:mm:ss"

restartable
  true if the job may be restarted.  false by default
XD-1791 Add Spark job

 - Add `SparkTasklet` that can run spark application in `client` mode
     - In client mode, the spark driver gets executed within XD container as a job module
     - workesrs run locally for master set to local
     - workers run on cluster for master set to spark or mesos URLs
     - yarn-client and yarn-cluster are not supported

 - Add module options to provide
     - master: to point to spark master
     - mainClass: the main class for the spark application
     - appJar: the bundled jar for the application and its dependencies
     - programArgs: the comma separated program arguments for the main class
     - name: the name of the Spark application
     - files: comma separated list of files to be placed in the working directory of each executor
     - conf: comma seperated list of key value pairs as config properties

 - Logging and handling of logs from Spark application execution
     - logging at error level when exit code != 0
     - logging app completion message at info level
     - logging Spark log at debug level
     - storing Spark command in step execution context
     - storing Spark log in step execution context