Improve complex order+prefetch exception message
This test was essentially c/p-ed in 2cc3a7be3, consolidate

The overriding difference is the new-connection == new-storage == new-sqla
Add an explicit codepath to test that, but overall there is plenty of
other places that verify this behavior to death
Reaching for IO::File here makes no sense
Consolidate lib-wide frameskip, adjust the ::RunMode loading order
Move the DSN-lock machinery from 8d6b1478d into DBICTest::BaseSchema

This is just a c/p job, expecting zero functional changes

The t/admin/02ddl.t are cosmetic changes fixing a nested &cref leak never
before encountered on <= 5.8.7
Less warning noise from sqlite test
Fix erroneous todoification in sqlite test
Fix multiple savepointing transactions on DBD::SQLite

Problem was missed during review of 86a51471ce (how the fuck did I let this
abomination through anyway), and not encountered due to insufficient testing.
The naive statement parser in DBD::SQLite when running against older libsqlite
mistakenly treats ROLLBACK TRANSACTION TO... as an actual TXN rollback, and
as a result desyncs the internal AutoCommit flag state [1]
Fix by simply using the shorter (still valid) syntax [2], and by removing the
sloppy workaround hiding the actual problem.

[1] https://github.com/DBD-SQLite/DBD-SQLite/blob/1.42/dbdimp.c#L824:L852
[2] http://www.sqlite.org/lang_savepoint.html
Consolidate pg/mysql and standalone SQLite savepoint tests to run on all 3

A larger consolidation will take place later with T::WV, but all in due time