Introducing the StreamingCodec interface

Also includes some clean up and some utils
Create a FailedEvaluator when the Evaluator is killed by the resource manager

This closes #999
Delete temporary files

Closes #1009

This PR ensures that the job submission files are deleted after the client JVM exits and that Evaluator submission files are deleted when the Driver exits.
Made sure that the `EvaluatorSetupHelper` uses the `TempFileCreator`
Added some syntactic sugar to `TempFileCreator`
Added improved logging to the temp file creators
Merge pull request #1010 from Microsoft-CISL/weimer_1009

We are now putting temp files in current execution directory and letting YARN to do the clean up. The PR will be merged for a timely release, but It may be worthwhile to investigate why DeleteOnExit is not always working.
Merge pull request #1000 from Microsoft-CISL/weimer_999

Create a FailedEvaluator when the Evaluator is killed by the resource manager
Merge branch 'master' of https://github.com/Microsoft-CISL/REEF into shravan_ng_groupcomm_1
Merge pull request #984 from Microsoft-CISL/shravan_ng_groupcomm_1

Introducing the StreamingCodec interface
Merge remote-tracking branch 'origin/master' into shravan_ng_groupcomm
Conflict resolved by using master
Conflicts:
	reef-io/src/main/java/com/microsoft/reef/io/network/impl/StreamingCodec.java