m_spanningtree Change TreeServer::GetSocket() to always return the socket that can be used to talk to the server

The only exception is the tree root (us) which has no associated socket (NULL)

Add TreeServer::IsRoot() and IsLocal() helpers
m_spanningtree Implement DoOneToMany() using DoOneToAllButSender()
m_spanningtree Remove duplicate code for sending channel messages from RouteCommand()
m_spanningtree Add TreeServer::GetChildren() that replaces ChildCount() and GetChild()