This commit refactors SolverRepository to turn it into a proper
factory class and to also include type hints to facilitate it's
use from an API POV. Related to #1498
The sat library from the python3-solv plugin does not expose
the flags information as method. Instead the flags value is
a variable pointing to an integer that has a name mapping
in self.solv.Selection from the library.