Rework addnode behaviour
- Use CNode::addeName to track whether a connection to a name is already open
- A new connection to a previously-connected by-name addednode is only opened when the previous one closes (even if the name starts resolving to something else)
- At most one connection is opened per addednode (even if the name resolves to multiple)
- Unify the code between ThreadOpenAddedNodeConnections and getaddednodeinfo
- Information about open connections is always returned, and the dns argument becomes a dummy
- An IP address and inbound/outbound is only reported for the (at most 1) open connection