New Locksmith failure backend to clean up locks

When using the Lock plugin locks will be left behind when a job fails due to a
DirtyExit. We've been manually deleting them if we see a DirtyExit error, but
this is unreliable. This is simply a failure backend to handle that case.

I built this out using a Failure backend because there didn't seem to be another way. I'm thinking of adding a failure callback for plugins to resque in the future, whatcha think?