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 did discuss that, and decided we couldn't think of a use case. Even then, the only way I know to force a return type is via the CRTP...  =)