Readability improvements to the interval/merging code

Based on code review by Daniel.
Split out runtime configuration from the schema

Also use reasonable defaults.
Remove unneeded runner package
Plumb errors through flush()
Don't automatically flush from gumshoe

Leave this to the caller (server). This is a much nicer separation of
concerns and makes some upcoming changes simpler.
Plumb flush errors through to Close() as well
More structure for schema and configuration options

- Split schema from gumshoe runtime configuration from server
  configuration
- Make DiskBacked a first-class notion
Move TOML parsing into package config

Also check that all config fields are defined.
Rename a test file
Add back a method for getting all (some) of the rows for debugging and tests
Split Open out into OpenDB and NewDB

We used to have this distinction and I think it's useful to add back in.
Update server to match gumshoe changes
[server] Better status codes
Accept rows without metric columns (insert 0s automatically)
Flesh out the serialization test
Shut down all request goroutines when rotating State
Export MakeRequest
[server] Add the metricz back in.

Now new and improved!
[server] Stop logging every flush
Remove deprecated functions

Still used in the migrator, but that's broken atm anyway.