WIP backend: add retrying on IO error with remote services
Wrapper function on objects that let choose methods to retry on IO errors.
This function would not live here of course by rather in core if useful.
Not tested yet, had some troubles finding how to decorate methods of objects by decorating only the object, and decorate where it is used rather than where defined.
Inspiration taken from RetryingProxyStorage. First, need feedback on the approach, before discussing implementation.
Related to #2862 (closed)
Test Plan
local tests then proper pytest
Migrated from D4630 (view on Phabricator)