This is kind of a prequel to #17921: increases the general quality of the functional test feature_csv_activation.py by checking for the specific reject reasons whenever the sending of a block fails. To get the reason, we have to limit the script threads to 1 via the parameter -par=1, like it is also done in feature_cltv.py:
https://github.com/bitcoin/bitcoin/blob/a654626f076a72416a3d354218d7107571d6caaf/test/functional/feature_cltv.py#L57-L61
The commit also fixes a bug that was uncovered with this checks: for the BIP112 version 1 tx tests, txs from bip112txs_vary_OP_CSV_v1 have been add twice to the list failed_txs:
https://github.com/bitcoin/bitcoin/blob/a654626f076a72416a3d354218d7107571d6caaf/test/functional/feature_csv_activation.py#L396-L397
leading also to a block rejection as expected but for the wrong reason. It seems one of those two tx lists was meant to be bip112txs_vary_OP_CSV_v1 (without the _9) and it was a typo.