Story #6875: [Meta] Integrate with Bandersnatch
As a User, I can configure Pulp Python remotes using a Bandersnatch config file
The Bandersnatch tool for creating local mirrors of PyPI has a straightforwards config file format which is much more user friendly compared to creating a complex JSON configuration object as you need to do with Pulp. It would be ideal if Pulp was able to parse these config files as-is and create a PythonRemote from them.
Bandersnatch's existing configuration parsing code should be used to parse the config files (we should not do parsing ourselves), and the settings which are relevant to Pulp should be stored in some appropriate format on the PythonRemote object.
Not all fields able to be expressed in the Bandersnatch config file are applicable to Pulp - they should be ignored. Examples of this include (but not limited to):
- directory https://bandersnatch.readthedocs.io/en/latest/mirror_configuration.html#directory
- json https://bandersnatch.readthedocs.io/en/latest/mirror_configuration.html#json
- logging configurations https://bandersnatch.readthedocs.io/en/latest/mirror_configuration.html#log-config
Regex filtering support should also likely be ignored for the initial implementation.
In keeping with this change, we will likely want to make changes to the schema and database representation of PythonRemote to better match the Bandersnatch representation, such as moving from a list of dicts for "project specification" to a list of strings.