Failing jobs can execute an error method defined on the job object.
only call error function when max-attempts has been reached
Passing handler to error function to ensure no loss of state.
updated handler's error function name.
Merge pull request #22 from tim-wakeless/master

Allow error function to be defined on job that will be executed on final job failure