Use three separate jobs for code coverage diffing

Reusable roles and playbooks are quite important upstream (I have
zuul-jobs inclusion in mind). Besides that, in Zuul's Ansible a playbook
is supposed to come from the same repo as the one where the job
definition is placed, and one can only override a job's `run` playbook.
This makes it rather annoying to modify, say, `tox-coverage` definition.

My previous approach with a job which performed two things (build the
old source *and* then generate coverage report) also would not scale
that well if the build+test phase is long.

Switch to three jobs:

- build the current, proposed state, and gather coverage info,
- build the past state, gather coverage info,
- download two artifacts from previous runs, reproduce the source trees,
and generate the final coverage diff report.

See-also: https://review.gerrithub.io/c/Telecominfraproject/oopt-zuul-jobs/+/489964
Change-Id: I6eb61669c6f28440a55ba08569a4f2683513a9fa
diff --git a/roles/ensure-pycobertura/tasks/main.yaml b/roles/ensure-pycobertura/tasks/main.yaml
index 473d543..ab309bd 100644
--- a/roles/ensure-pycobertura/tasks/main.yaml
+++ b/roles/ensure-pycobertura/tasks/main.yaml
@@ -1,4 +1,4 @@
 - name: Ensure pycobertura is available
   pip:
     name: pycobertura
-    extra_args: --user
+  become: yes