Add experimental /api/2/composes to clean-up and rationalize the REST API.
The issues with current API and also the proposal behind this PR are
described in https://docs.google.com/document/d/11OQjBlskvCr5yMOrYTq35bXr2lo5tL2C3PVpSTb3dG8/edit#.
The key part of the current API is the “source_type”. The original idea
was that it defines from where the packages for a compose are taken,
but while implementing new features, it bloated a lot and its meaning shifted.
Therefore for each source_type, there are various exceptions which makes
the current API quite complex and hard to understand or extend.
It also no-longer reflects how Pungi works - you can for example generate
compose with both modules and bare RPMs, but we do not have proper `source_type`
for that.
In this PR, I propose new API which addresses the issue. See the `docs/api_v2.rst`
or the linked document for more details.