p2p: Allow whitelisting manual connections
Summary:
net: store -whitelist{force}relay values in CConnman
net: Move NetPermissionFlags::Implicit verification to AddWhitelistPermissionFlags
net_processing: Move extra service flag into InitializeNode
Accept "in" and "out" flags to -whitelist to allow whitelisting manual connections
test: add coverage for whitelisting manual connections
This is a partial backport of core#27114
https://github.com/bitcoin/bitcoin/pull/27114/commits/2863d7dddb62d987b3e1c3b8bfad7083f0f774b2
https://github.com/bitcoin/bitcoin/pull/27114/commits/9133fd69a5cc9a0ab1a06a60d09f1b7e1039018e
https://github.com/bitcoin/bitcoin/pull/27114/commits/8e06be347c5e14cbe75256eba170e0867f95f360
https://github.com/bitcoin/bitcoin/pull/27114/commits/66bc6e2d1749f43d7b314aa2784a06af78440170
https://github.com/bitcoin/bitcoin/pull/27114/commits/e6b8f19de9a6d1c477d0bbda18d17794cd81a6f4
https://github.com/bitcoin/bitcoin/pull/27114/commits/0a533613fb44207053796fd01a9f4b523a3153d4
Depends on D17112
Note that CNode::m_permissionFlags was made public by core in core#20881 which we are missing so it had to be made public in this diff.
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D17114