Prevent TestNodeCLI.args mixups
Summary:
Change TestNodeCLI.call() to return a new instance instead of
modifying the existing instance. This way, it's possible to create
different cli objects that have their own options (for example
-rpcwallet options to connect to different wallets), and options set for
a single call (node.cli(options).method(args)) will no longer leak
into future calls.
Partial backport of core PR11970 (commit ca9085a)
Depends on D2396
Test Plan:
./test/functional/test_runner.py interface_bitcoin_cli
Reviewers: #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Subscribers: teamcity, schancel
Differential Revision: https://reviews.bitcoinabc.org/D2397