Improve job cancellation for NN: Don't finish processing the entire chunk, but
throw (and catch) JobCancelledException and return the latest model.  This way,
there won't be a CRASHED job state and a huge exception message, but just a
CANCELLED state, and a null exception.
Merge branch 'arno-deeplearning2'