Fixes #2518 -- weird behaviour of lookup_or_init (#2520)

* Allow lookup_or_init to return NULL (rather than just returning from the current function)
* Fixed a couple of bad edits found when running tests. Also fixed a bug in the
test runner. Also fixed a bug in libbcc where the python signature did not match
the actual implementation.
diff --git a/tools/lib/uflow.py b/tools/lib/uflow.py
index 63fab87..f904533 100755
--- a/tools/lib/uflow.py
+++ b/tools/lib/uflow.py
@@ -89,6 +89,9 @@
 
     data.pid = bpf_get_current_pid_tgid();
     depth = entry.lookup_or_init(&data.pid, &zero);
+    if (!depth) {
+        depth = &zero;
+    }
     data.depth = DEPTH;
     UPDATE