*sql.Tx
This tidies up the `storage` package so that everything takes a transaction parameter instead of something things that do and some that don't.
Initial implementation of MSC2753, as tested by https://github.com/matrix-org/sytest/pull/944. Doesn't yet handle unpeeks, peeked EDUs, or history viz changing during a peek - these will follow. https://github.com/matrix-org/dendrite/pull/1370 has full details.