Refactored report builders so that
* There's an abstract base class for all builders
* There's an abstract base class for cohort reports not based on a calculation
* There's a decsriptor class for such cohort reports