LPS-47511 add repository capabilities basic classes

See LPS-47325 description for details.
LPS-47511 make all repositories be capability providers

As all capabilities will be provided through `CapabilityRepository`,
"core" repositories won't support any capability.
LPS-47511 introduce base class to remove duplication in capability repositories

As local and non local repositories don't share a common interface, we need to
abstract over the class with a generic and delegate type dependent operations on
subclasses.