Feature/ae split generators and algorithms

To repeat what I said in issue #167:

 - for all the algorithms the pedestal is retrieved from the SQLite database that is produced by ```PlotPedestalsAndNoises```. If you don't have the SQLite database locally, then you can create one by running rootana with this module and setting ```export_sql=1``` in your modules file.

 - the various pedestal/trigger polarity/etc. variables should be assigned in the generator and not the algorithm so that we don't get a massive slow-down. I would quite like a way to check that these variables exist before running the algorithm (i.e. fail loudly) but can't think of a way to do it

Could people please check that I haven't either:
 - broken an algorithm while copying it over, or
 - done something dangerously/inefficiently/badly

Cheers
We need to stop copying vectors around.  It requires an extra loop over all the contents of the vector and uses more memory, so it's pretty bad from a performance perspective.

`GetSamples` ought to return a pointer or reference to the vector but if we don't want to change existing methods in TPulseIsland, either we should add another method which does return a pointer or reference (GetSamplesPtr) or we should access the vector using the `GetSample(int)` and `GetPulsleLength()` methods.