re-structure the LOG dispatcher

we now have a nice structure for dispatching log messages to various
handlers, each self-contained.  As an added benefit, we remove the need
to manually enable all the various log codes, as we simply auto-generate
the default config from all the message types we support.

Furthermore, we reduce computational complexity by avoiding linear
iteration over the array of registered log handlers.
diff --git a/src/Makefile b/src/Makefile
index a88d001..e81eb5c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2,7 +2,9 @@
 LIBS ?= -losmocore `pkg-config --libs qmi-glib`
 all: qxdm-log
 
-qxdm-log: diagchar_hdlc.o diag_io.o qxdm-log.o config.o gprs_rlc.o gprs_mac.o diag_gsm.o protocol.o qmi_decode.o
+MODS_LOG = gprs_rlc.o gprs_mac.o diag_gsm.o diag_log.o diag_log_gsm.o diag_log_gprs.o diag_log_umts.o diag_log_qmi.o
+
+qxdm-log: diagchar_hdlc.o diag_io.o qxdm-log.o protocol.o $(MODS_LOG)
 	$(CC) $(CPPFLAGS) -o $@ $^ $(LIBS)
 
 clean: