request change only once before pipeline processing

The process event queue would request the change for each pipeline which
hammer the trigger (Gerrit) installation with one request per pipeline.
This patch makes it so we fetch the change only once. Since the Change
objects contains the build results, we do a shallow copy to make sure
each pipeline receive a different object to interact with while the
copied change still refer to the original project instance.

Fix bug #1167035
"Zuul request duplicate changes informations from Gerrit"

Change-Id: Ib303688377c518b3d26d986549dc99f39d0d0d5f
WMF: workaround Jenkins API slowness

The calls to the jobs /api/json are really slow because they parse the
whole build history.  This work around will make Zuul believe the job
always exist.

Change-Id: Icdf2b70ede617e94eed53e6498fff71f403792db
Add a graphite key for all jobs in a pipeline

Add a key for convenience that rolls up all of the job completions in a
pipeline, so that such a graph can be built with only about 10 keys.

Comes from OpenStack I93ef1dca350cd66d880e8cb7f4478c47dbc5960e

Change-Id: Ibda87cf9b54efb18ace5860813421ccf66e09bec
Revert "Add a graphite key for all jobs in a pipeline"

This reverts commit d79f3ff8531202a56ce83a018dec20ac5335b594.

Change-Id: I225a7990703285887e460646c2d8bd56b5ba238a
WMF: debug time to launch a build in Jenkins

quick hack to add some more debug informations related to Jenkins.

Change-Id: I0ba525283820c44c71c70594f85f57b239c1ba3c