Merge ITcpAdapter with CRtdsAdapter

Now that CPscadAdapter is gone, CRtdsAdapter is the only child of
ITcpAdapter. We don't forsee ever inheriting from ITcpAdapter again, so
let's merge it with CRtdsAdapter to simplify the system.

Also, deleting code is fun.
Simplify Doxygen generation

Currently CMake calls a script that does nothing but call Doxygen,
something CMake could happily do itself. And we have two levels of
subfolders for holding Doxygen-related files, with a piece of outdated
unrelated (and insufficiently-helpful) DGI documentation as a bonus.

Let's instead use ONE directory for Doxygen, named doxygen, rather than
docs, since having two docs folders is confusing. As we can see by the
presence of documentation in the Doxygen folder. Remove this extra
file. (It could be moved to Docs instead, but honestly does not look
worth keeping.)
Fix IAgent include guards
gm: remove some unimplemented/unused declarations
gm: remove virtual function table

Pretty sure we're not going to be having any baby group management
classes anytime soon, or ever. And if so, I'd vote to have a virtual
destructor first.
gm: should not have any protected anything

gm is not designed for inheritance, so it doesn't make sense to have
protected functions, and it definitely doesn't make sense to have
protected data members.
gm: remove most of the public interface

For some reason, GroupManagement decided that its implementation details
ought to be part of its public interface. This looks clearly wrong.
gm: remove global using declarations

If a using declaration appears in a header file, it needs to be scoped
to a namespace or a class, rather than pollute the rest of the project.

But it turns out that all of these declarations are unused. Goodbye.
gm: remove unnecessary includes from header

Turns out a couple of modules accidentally dependend on pollution from
CGlobalPeerList.hpp, so add that where it's actually required.
sc: remove unnecessary includes from header
sc: remove global using declarations

Only one of these is used. Let's not leave it in the global namespace.
sc: handlers should be private

There is zero reason for these to be public.
sc: remove some old commented code from the header
lb: remove unnecessary includes from header file
lb: add necessary include to header file

I don't even want to know where this is coming from.
lb: remove global using statements from header

None of these were *used* anyway. Tee-hee.
gm: remove unused ready message

This is never sent and never handled.
sc: never store an incomplete state

We crash when we attempt to retrieve the missing field. Probably
fixes #269
gm: inherit privately from IPeerNode

I strongly believe that we should not be inheriting from IPeerNode at
all, but inheriting privately is a quick fix that makes this
non-dangerous.
sc: inherit privately from IPeerNode

I don't think we should be inheriting from IPeerNode at all, but this is
a quick fix to head off any of the nasty issues this could cause.