Need to handle all kinds of exception in order to properly set job's status

See issue #272

While running a job and if it threw an exception that is not a subclass of Exception i.e java.lang.NoClassDefFoundError, JobRunner will not able to set its status to failed and therefore this job is stuck.  In addition there are no log statements to indicate the cause of the failure.

The fix is to catch Throwable and properly log out the exception, which will display the stack trace and message.