Features/229 db upgrade

This adds a versioning extension to FindMyDevice so we can track database schema changes.

You should be able to properly track version upgrades, downgrades and will abort if you've merged branches which contain changes to the schema which create multiple heads on the database version.

I've also added a Makefile to run a gospec testsuite against a database named findmydevice_test.  I'd like to get those tests merged in with @nchapman's travis tests.

Closes #229
Silly question, but if this needs to be a unique value, and there aren't a ton of these (ideally) wouldn't it be just as easy to use rev.yyyymmdd.<description>? that way folks (ok, developers) could easily find or note new changes (ok, where they screwed up). Granted, I'd be tempted to move <description> to a description.txt file so that the change could be properly described, but that's probably me.