Add service to create temp files

Closes #733.

This adds an API (`TempFileCreator`) to create temp files as well as two implementations:

  * `SystemTempFileCreator` uses the standard java methods to create temp files.
  * `WorkingDirectoryTempFileCreator` uses the current working directory.

All temp files in REEF are now created using an injected version of `TempFileCreator`. The YARN runtime also binds `WorkingDirectoryTempFileCreator` to be used in accordance to expectations on Hadoop.