Provide failing job in error_handler

Knowing the job allows the handler to take specific actions based upon
the specific job that failed. For example, dequeuing if the error count
is past a certain threshold.

This change potentially breaking if the assigned error handler has a 
strict arity (using a lambda instead of a proc). I can adjust the PR to
check arity if that's a concern.