Removed the ability of passing extra error data.

This approach proved to be counterproductive when used in combination with
Amazon SQS queues (using the Ruby AWS SDK), our primary use case. Due to having
to explicitly wrap Worker#process in a `begin/rescue` block there would be the
risk of potentially removing messages from a queue upon failure. The resulting
code to work around this (`false` as return values and such) was also a big
code smell.

Because of this these changes have been reverted. For the sake of Semver I'll
be bumping the version to 3.0.0.
Release 3.0.0.