Modify `Sidekiq::Middleware::Chain#add` semantics

* If middleware class already exists in the chain, remove the
  existing class and add it with possibly new arguments.