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

{
    if (!fDiscover)
        return;
#ifdef WIN32
    
    char pszHostName[256] = "";
    if (gethostname(pszHostName, sizeof(pszHostName)) != SOCKET_ERROR)
    {
        std::vector<CNetAddr> vaddr;
        if (LookupHost(pszHostName, vaddr, 0, true))
        {
            for (const CNetAddr &addr : vaddr)
            {
                if (AddLocal(addr, LOCAL_IF))
                    LogPrintf("%s: %s - %s\n", __func__, pszHostName, addr.ToString());
            }
        }
    }
#elif (HAVE_DECL_GETIFADDRS && HAVE_DECL_FREEIFADDRS)