Add saving to CSV file
Merge remote-tracking branch 'buybackoff/upstream'
Merge tests from buybackoff and fix #30
Update design doc and add documentation for aggregation