Experimental: only abort on runtime circular dependencies

The logic to expand build and test dependency tree is flawed and in
reality, there are lots of these circular dependencies, which are
trivially worked around in build systems.