Add sidekiq-failures gem.

It has been discussed in #3993. The ability to manually restart failed jobs has been implemented.

As for memory consumption, we could configure it so that it [only tracks failures if the job exhausts all its retries (or doesn't have retries enabled)](https://github.com/mhfs/sidekiq-failures#exhausted).

We've been using it in out pod and hadn't noticed any glitches so far: 1GB ram, ~300 users