Add a new SQLite backend

This is lacking the hacky changes I had to make to the test runners since those changes broke all the other backends.
It only needs to be unique for a `(namespace, stream)` so that events don't get clobbered. In practice it's prolly going to be globally unique.