This implements BIP69 as defined here. The inputs and outputs are sorted just before signing in CWallet::CreateTransaction only if that function is to be doing the signing as BIP69 requires that the transaction be signed with SIGHASH_ALL which can only be guaranteed if CreateTransaction is signing the transaction.
No tx validation or mempool code has been changed.
ninja all check-functional
The only test added for this MR is to check correct input/ouptut ordering in wallet_create_tx.py. If there were a signing issue or tx validation issue a lot of other tests would fail.