It's problematic for transaction commit to get the expansion lock, but
in fact we always grab a hash lock before the transaction lock, so it
doesn't really need it (the transaction locks the entire database).
Assert that this is true, and fix up a few lowlevel tests where it wasn't.