Do not run peform if context failed during setup

Ran into this today

```ruby
def setup
  fail! unless context[:user] = User.where(email: email).first
end

def perform
  user.do_something
end
```
would error with not method error for nil, I think that perform should not be called if the setup calls `fail!`, thoughts?