Add ReportFileGenerator

Generalized report generation to work with different reports.