Spark Jobs now return a status

Make Jobs return status

-  The `SparkJobStatus` will contain the information whether a job was successful or failed.
- In case the job failed it will hold the underlining exception as `SparkException`. 
- Any exception that job does not catch will be thrown by job manager with `[SEVERE]` priority.
- This will allow the caller to show appropriate success / error dialogs.

@devoncarew 
This is a transition CL, I will audit all current jobs, and make all jobs always return a `SparkJobStatus` both for success and failure.