Schema versioning

This adds a schema table to the SQLite3 database, so that we can detect and make breaking database changes. We test this by making a breaking database change, to fix #90.

## TODO:

- [x] Detect when our schema is out of date
- [x] Create a migration to fix #90
- [ ] Capture a test file from an older version
- [ ] Test to make sure we don't trash data