In order to reduce our CI resource usage we've combined
some jobs and changed what runs for each workflow.
Most packages have fast test runs. We've combined these
under one job. Packages with slower runs use their own
job so they can be run in parallel. Also, we've added
branch filters to the rarely changing, but resource
intensive jobs.
We now have three workflows that run at different times.
1. test_pull_request: runs only on PR branches and
only runs tests.
2. deploy_master: runs only on master and only builds
and deploys docker images
3. test_and_deploy_tag: runs only on tags and tests,
builds, and deploys