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