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.
If i switch <= to <, 4 tests fail. I'm going to leave this as-is until the final switch around ordering is made. The switch to the ordering can also fix this backend.