Prepare to release new versions via GitLab CI and tagging
Setup the repo so that new releases can be published to PyPi by tagging the repo and letting CI take over from there. As part of this migration we have also updated our documentation and added a number of linters to help ensure good quality in the committed code. The majority of the changes were adapted from similar work that was done for the https://gitlab.wikimedia.org/toolforge-repos/python-toolforge library.
Bug: T339147