indicate return type
consume subgraphs when first used;

This allows creating a nice depth-first parallel structure. Otherwise higher-level parallels drag the lower-level branch up, thus messing up the structure. This is one of the problems of a graph-like structure.. trying to map these higher-level splits as "soft links"
new `links` field for Parallel - support soft links

The `links` field is non-containment, so allows simulating graph-like structure
using ProofEntry elements for soft links
using soft links in graph-tree conversion
do not create soft links for merge points
the split+merge should be handled correctly now using soft links
basic test case for soft link
Merge branch 'parallel-links'