log.py: tweak LogTarget list, require explicit LogTarget

Rename log_sink to log_write_func to make it more clear.

Remember the list of log targets as static member LogTarget.all_targets.

Make each LogTarget instance register with the list of targets implicitly.

No longer create a default log target, rather create one explicitly in
osmo-gsm-tester.py.

Change-Id: I5844485eaed536cb34b44bfe23dc635fe1982dcd
diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py
index fb4a8d7..34e76fa 100755
--- a/src/osmo-gsm-tester.py
+++ b/src/osmo-gsm-tester.py
@@ -104,6 +104,9 @@
     print('trials:', repr(args.trial_package))
     print('tests:', repr(args.test))
 
+    # create a default log to stdout
+    log.LogTarget()
+
     if args.log_level:
         log.set_all_levels(log.LEVEL_STRS.get(args.log_level))
     log.style_change(origin_width=32)