fix problem in origin ancestry: don't add self twice

Also add various comments to illustrate what is going on during origin
resolution.

In the regression tests' expectations, some duplicate entries in the origins
are removed, and hence no list of deeper origin ancestry is printed anymore.

Change-Id: I42c3b8635b54c31c27699140e200c1f75a6ada29
diff --git a/selftest/process_test.ok b/selftest/process_test.ok
index 4245eeb..f168ee3 100644
--- a/selftest/process_test.ok
+++ b/selftest/process_test.ok
@@ -1,7 +1,7 @@
-run foo: DBG: cd '[TMP]'; PATH=[$PATH] foo.py arg1 arg2  [foo↪foo]
-run foo: DBG: [TMP]/stdout  [foo↪foo]
-run foo: DBG: [TMP]/stderr  [foo↪foo]
-run foo(pid=[PID]): Launched  [foo(pid=[PID])↪foo(pid=[PID])]
+run foo: DBG: cd '[TMP]'; PATH=[$PATH] foo.py arg1 arg2
+run foo: DBG: [TMP]/stdout
+run foo: DBG: [TMP]/stderr
+run foo(pid=[PID]): Launched
 stdout:
 (launched: [DATETIME])
 foo stdout