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:

- [ ] Detect when our schema is out of date
- [ ] Create a version that's borked
- [ ] Create a migration to fix #90
- [ ] Test to make sure we don't trash data