To be able to label incoming tor connections as different from normal localhost connections in e.g. `getpeerinfo` and the peers list in the GUI it'd be useful to have them connect on an alternative local-only port. Or even better, a UNIX socket.

For manually set-up hidden services this would have to be configured manually and could add a `hsport` option or such. The external port would still appear as `XXXXXXXXX.onion:8333`, however internally it would redirect to a that port.

In the case of `torcontrol` this would be easy to set up automatically. It could add a new (localhost) binding port automatically and this code would have to be changed:
- https://github.com/bitcoin/bitcoin/blob/master/src/torcontrol.cpp#L441
- https://github.com/bitcoin/bitcoin/blob/master/src/torcontrol.cpp#L477

{
    LOCK(cs_totalBytesSent);
    return nTotalBytesSent;
}
ServiceFlags CConnman::GetLocalServices() const
{
    return nLocalServices;
}
void CConnman::SetBestHeight(int height)
{
    nBestHeight.store(height, std::memory_order_release);
}
int CConnman::GetBestHeight() const
{
    return nBestHeight.load(std::memory_order_acquire);
}
unsigned int CConnman::GetReceiveFloodSize() const { return nReceiveFloodSize; }
CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn, SOCKET hSocketIn, const CAddress& addrIn, uint64_t nKeyedNetGroupIn, uint64_t nLocalHostNonceIn, const CAddress& addrBindIn, const std::string& addrNameIn, ConnectionType conn_type_in)
    : nTimeConnected(GetSystemTimeInSeconds()),
    addr(addrIn),
    addrBind(addrBindIn),
    nKeyedNetGroup(nKeyedNetGroupIn),
    
    
    
    id(idIn),
    nLocalHostNonce(nLocalHostNonceIn),
    m_conn_type(conn_type_in),
    nLocalServices(nLocalServicesIn),
    nMyStartingHeight(nMyStartingHeightIn)