Add an event_weight to ZFinderPlotter

The event weight is used every time fill is called from a histogram. It
defaults to 1 if not filled.
Add efficiency to CutLevel

Also add reporting of efficiency to ZFinderEvent.
Change return value of ZFinderElectron::CutWeight

CutWeight now returns -1 if the requested cut is missing. This allows
the calling program to decide what to do in this case, instead of
insisting that they use 0 (as they can't tell 0 apart from a valid
value).
Add efficiency tracking in ZDefinition

A cumulative efficiency is tracked through the ZDefinition for both Tag
0 Probe 1 and Tag 1 Probe 0. TODO: When a cut is inverted, there should
be better protection against negative numbers, for example with scale
factors which can be larger than 1 (and hence 1 - Eff < 0).

Additionally, remove setup of the cut_level structure, as this is
already handled by its constructor.
Add efficiency passing to ZDefinitionPlotter

We take the efficiency from cutlevel. Since we don't know if the passing
set is Tag 0 Probe 1, or Tag 1 Probe 0, we take t0p1 if it passes,
otherwise we take t1p0 if it passes. If neither passes we use 1.

This might cause a *BIAS* if t0p1 and t1p0 both pass, but are slightly
different.
Move zeffs_ to the correct position in ZFinder

zeffs_ must come after the cuts are set (as the cuts are where the
efficiencies are stored), but before the zdefs are set (as the
efficiencies are used in the zdeffs).