rpc: Move OuterType enum to header
Summary:
This is needed so that it can be used by RPCResult
Also,
- rename NAMED_ARG to NONE for generalization.
- change RPCArg constructors to initialize the members by moving values
Backport of Core PR17809 [1/2] : https://github.com/bitcoin/bitcoin/pull/17809/commits/fa7d0503d320900e14c4d9bc016d65c7431070bb
Test Plan:
ninja all check-all
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D8123