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.

Fixes #90

## TODO:

- [x] Detect when our schema is out of date
- [x] Create a migration to fix #90
- [x] Actually fix #90