Create an object storage that demultiplex inputs to multiple object storages
In order to allow transition between multiple object storage implementation, there is a need for a demultiplexer that can distribute objstorage operations to multiple implementations.
For example, during a transition, the transitional object storage can allow writing only on the new version while reading is possible on both.
To fulfill this requirement, the demultiplexerObjStorage will add filters to its storages, so only storages with passing filters will be able to perform the operation.
Migrated from T445 (view on Phabricator)