Add an upload stage to the CI
This MR solves most of #23 (closed), the remaining things to do are create a PyPI
account for the CI to use, and set the TWINE_USERNAME and TWINE_PASSWORD
variables in https://gitlab.com/buildstream/bst-external/settings/ci_cd
to use that account.
A successful run uploading a 0.0.1 tag to test.pypi.org can be seen
at https://gitlab.com/SotK/bst-external/pipelines/49378627.
The upload stage only runs when a tag matching the release tag format is
pushed. It uploads the built package tarball to a Python package index,
by default pypi.org. The target index is configurable by setting the
TWINE_REPOSITORY_URL environment variable for the pipeline.
If authentication credentials aren't provided, then the upload job will just fail and nothing will end up on PyPI.