By specifying the datacarriersize option instead of the more generic acceptnonstdtxn for functional tests, we can be more specific about what part of the transaction is non-standard and can be sure that all other aspects follow the standard policy. Transactions with more than one OP_RETURN output are never considered standard, i.e. we have to change the gen_return_txouts helper to create only a single output in order to get rid of the acceptnonstdxtn option. Note that on master there is currently no test using the datacarriersize parameter, so this PR indirectly also increases the test coverage.
The change affects the tests mempool_limit.py, mining_prioritisetransaction.py (call gen_return_txouts directly) and feature_maxuploadtarget.py (calls gen_return_txouts indirectly via the mine_large_block(...) helper).