Implement deterministic pileup support

The EventAwareLumiBased and LumiBased splitting algorithms
will keep count of the number of jobs when deterministic
pileup is required, this allows the PSet to be tweaked
to use sequential pileup and skip the events already
used from the pileup dataset.