Store error details on failure

Hello,

In migrating from Redis, one feature I found missing was the inclusion of error details with failed jobs. I've found this to be preferable to using Airbrake/Exceptional in a project where the success of a job can't be guaranteed.

The attached changes to the Mongo backend store errors along with the failed job. It also ensures they aren't included on requeue.