Only add/remove to chain when options change

There's no reason to add/remove the middleware from the middleware chain every time a sidekiq job runs. Only do it when the options change.

Fixes #7