Instead of having a `wals` directory to manage all the wals for all the
dbs, we now store the wals for a specific db alonside the db itself, in
a `{db_name}-wal` directory. This servers multiple purposes
- it's easier to cleanup a db: just remove the dir
- the directory is placed where sqlite would expect the wal to be, but
since it's a directory, it will refuse to open it, thus preventing
accidental interferences between libsql-wal and sqlite
- when forking, we can create the fork in a separate tmp dir, and then
swap the whole dir, in place with all the wal contents
- The regitry doesn't manage any of it's own files anymore, it'll be
easier to integrate in embedded replicas.