[4.2] Log Failed Jobs Exceptions

This fixes issue #6203. It basically allows exceptions and their error messages to be logged to the database. Makes it 123450x easier to debug failed jobs. Tests also pass.

I pinged you on IRC but received no response. I'll leave this here until I can get a hold of you.
All of the other params are 2 spaces, so I followed suit. Is this correct?