Reimplement some changes from prior to refactoring. The code was undocumented, so I removed it to ensure we didn't have bogus processing in there. It is now back, correct and documented. These related to handling of unobserved xid processing for subtransactions on abort and commit, when those subtransactions were the latest arrived xids. Rarely occurring code, typically 1-2 times per make installcheck.
Also fix problem with redo debug messages not being displayed correctly.
Also replace tests for prepared transactions.