Add support for periodically archiving the transaction billing table

The transaction billing table has an entry per message which means it'll get large very quickly. We should archive data regularly (probably at the end of each month we should archive data older than N months).
Are we using `.title()` to turn these into readable labels? If we are, maybe we should be removing the `_`s,