Replace AXRDebugging mess with brand new debugging/logging architecture.

There is a new AXRLoggerManager class - this is a singleton to which
all logging calls should be directed. This class maintains a list of
AXRAbstractLogger classes, which should be subclassed to direct logging
output to the correct places. axr_log is now a convenience macro to call
the log method on the AXRAbstractLogger singleton.

Calls to AXRLoggerManager's log functions also take a channel parameter,
which is an enumeration specifying the channel(s) to write the message
to. This allows output to be easily filtered by topic. The channels are
mostly the same as those that were previously in AXRDebugging but their
values have been changed/reordered and several new channels have been
added and a couple removed.

The LoggerChannelObsolete channels are temporary, as all std_log(...)
calls have been blindly converted to axr_log(LoggerChannelObsolete, ...)
The channel parameter for these calls should be replaced with a channel
appropriate for the message, and the LoggerChannelObsolete enum members
removed as soon as they are no longer in use.

A concrete implementation of AXRAbstractLogger (AXRGenericLogger) has
been provided, which allows for logger output to be easily redirected
to QIODevices (essentially, anywhere - files, memory buffers, network
sockets, stderr/stdout, processes, etc.) on a channel-by-channel basis.
This is not used internally but is useful for library users.