Fix matching bug in TruthMatchSetter

TruthMatchSetter was matching electrons to the reco electrons, not the
truth electrons. The electrons are now matched to the truth electrons.
Update ZFinderEvent to allow 0,1 Reco Electrons

In order to do this, the following changes have been made:
    * If there is only one Reco Electron, it is set to e0
    * Events are required to have two Reco electrons _OR_ two Truth
      electrons in order to advance
    * Various "electron != NULL" tests were moved, removed, or split to
      allow events with fewer than 2 electrons to survive.

These 0,1 electron events are _STILL_ removed by the cut stages because
they do not have a second electron to pass the second set of cuts, and
are (at that point) marked as having 0 efficiency. They are not, in
general, saved to RooWorkspaces, although this might be changed in the
future.
Add "0 All Events" plot to ZDefinitionPlotter

All events are now plotted before cuts in the "0 All Events" plot.
Update ZFinderPlotter to plot single electrons

ZFinderPlotter now plots e0 and e1 if either one exists, instead of only
if both of them exist. ZDefinitionPlotter still controlls what is passed
to this object though, so it can restrict what is plotted further.
Remove unused (and broken) ZFinderPlotter::Print()
Allow writing of 0,1 electron events to workspaces

Events with 0 or 1 electron are now written to RooWorkspaces _IF_ the
only cuts applied were on the Truth quantities. Reco cuts will remove
events with less than 2 electrons as there is no second electron to pass
the second set of cuts.
Update weight handling in ZDefinitionWorkspace

For Data, the weights are unchanged. For MC, the weight associated with
the truth values is just the pileup reweighting weight; for the Reco
values it is the pileup reweighting multiplied by the scale factors for
the various cuts applied.
Add charge plots for Truth MC

Previously these plots were never filled.