Created by: Aske-Rosted
An attempted implementation for solving #431.
Creates a new class generators, which are called after the extractors in the graphnet/src/graphnet/data/dataconverter.py script.
The idea is that this class in the future can be used more generally if one wishes to create a new feature variable pulsemap etc. when reading from the I3 files.
Also introduces the CoarsePulseGenerator as the first example of a generator. Two of the functions called in CoarsePulseGenerator. have been left out of the class as they in principle could be moved to graphnet/src/graphnet/models/coarsening.py however I did not quite feel like that was appropriate either.