Add IsGood and CouldBePaired methods to TDetectorPulse

CouldBePaired tells you whether the generator was able to pair pulses in
principle.
IsGood tells you if the pulse should be used for subsequent analysis,
since it was either a a paired pulse (IsPairedPulse) or the generator
didn't actually pair pulses (!CouldBePaired)
Only add good TDPs to the TME and added GetSourceIndex method to help
looping over all sources for a given channel
Big rewrite of logic to select TDPs within TME window.

Fixes #238
Histogram the time difference of pulses w.r.t. the central muon in a TME
Add module to plot the self correlation of a channel with certain cuts