WIP. add timeline

A Timeline should hold a rolling series of reports, each report should be the diff of the previous report.
When a Timeline is at its max and we need to add a new repot the first report should be shifted off and the new report pushed.
A Timeline should be able to combine the reports together producing the actual report.