Make sure jobs fail if perform returns err.

I made it so after_perform is called even if a job fails.

Fixes #17