Stop using precpomputed SQLite testdb name, fix cosmetic bug in replicated.t

This was an... odd one. Originally the problem manifested as a classic
var-sub-sub closure problem, leading to $db_file being captured and tripping
a more involved testcase that is coming in a subsequent commit. However while
getting rid of the reference itself was easy, this led to the outer coderef
itself being "leaked out".

Various tools indicated that it is somehow attached to the PAD of the static
_database() sub, but I could not figure out *why* exactly this is happening.
It also turned out to be rather hard to construct a standalone small oneliner,
so I am punting diagnosis until Devel::MAT gets fixed up (RT#92290).

So invoking doge on the whole shebang, and moving on. Such WTF, wow!

Incientally changing things to use the current SQLite filename revealed
a bug in t/storage/replicated.t, which was never noticed as it only
resulted in annoying warnings under Win32 global destroy (test
teardown).