[rpc] allow multiple txns in testmempoolaccept
Summary:
Only allow "packages" with no conflicts, sorted in order of dependency,
and no more than 25 for now. Note that these groups of transactions
don't necessarily need to adhere to some strict definition of a package
or have any dependency relationships. Clients are free to pass in a
batch of 25 unrelated transactions if they want to.
This is a backport of core#20833 [10 & 12/13] and core#22084 [2 & 3/4]
https://github.com/bitcoin/bitcoin/pull/20833/commits/9ede34a6f20378e86c5289ebd20dd394a5915123
https://github.com/bitcoin/bitcoin/pull/22084/commits/7d91442461776e2ef240d7885f768b624de341a7
https://github.com/bitcoin/bitcoin/pull/22084/commits/e8ecc621be6afd3252c0f8147e42c3b4918f7f46 (partial)
https://github.com/bitcoin/bitcoin/pull/20833/commits/9ef643e21b44f99f4bce54077788d0ad4d81f7cd (release notes)
Depends on D12124
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D12125