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.
Yes it will. It's used for deletes. However, I will likely change the schema in the next commit.