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
Careful if you go that route to make sure the result is cleaned up after. So if you get the max amplitude and it fails, not only do you not return the amplitude, but the cached time is also reset to something obvious.  This is a classic analysis-level headscratch bug.  I prefer returning std::pairs or structs for that reason.  

In this case you could also consider return the bin number and looking up what you need in the generator.