frontend, backend: support modulemd v2
Drop some of our modularity implementation details and move the code to
the separate `modulemd_tools` library. As a side-effect, update the rest
of our code from using `Modulemd 1.0` to `Modulemd 2.0` and therefore
supporting both v1 and v2 modulemd YAML files.
The `ModulemdGenerator` class underwent a notable simplification and
most of its methods are now just calling `modulemd_tools.yaml.update`
and therefore can be refactored even further but as a proof of concept,
I am happy with the current implementation.