JQ

Changed CAEN timing in ProcessRaw for both CAENs to subtract off some presamples.
The BU CAEN is fixed at 20, the UH CAEN is calculated as floor(20% * waveform length) from ODB.
This fixes #33.

Volodya's time-sorting is implemented using TPulseIsland::GetTimeStamp() method as indicator.
Though the CAENs were the motivation, this is implemented for all digitizers.

CAEN islands are stitched together.
The expected length of the island is grabbed from the ODB
If an island is shorter than this, it is stitched onto the one before it.
Sometimes the first island of a block is short, I don't know why.
A sanity check should be done, where the trigger time of 1 minus trigger time of another is equal to the shorter pulse's length.
Multiple short pulses in a row need to be taken into account.
Full buffers are also not taken into account.
This fixes #9.