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 ([see readme](https://github.com/mhfs/sidekiq-failures#exhausted)).

We've been using it in out pod for about 2 months and hadn't noticed any glitches so far: 1GB ram, ~300 users, ~170.000 failed jobs so far.