Update binary packaging and CI
This MR does a few things at the same time
- separate the scripts/entry points into a
ligo-gracedb
package that depends upon thepython3-ligo-gracedb
library package - this is designed to make dropping python2 easier - update the CI to use gitlab-ci-templates
- separate source and binary package stages
- test on all platforms
- upload coverage and test results XML
- use template for flake8 and upload codeclimate XML
This is dependent on changes in !56 (merged), !57 (merged), !58 (merged), and !59 (merged) to pass (I think).