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