Building up result of merge / remove of query partial test vector during downwards traversal.

This is being done side-by-side with the old buildup of the merged /
removed vector to aid in debugging failures by eye. As of this commit,
the logic is correct but the old code provides the results that get
tested. The next commit will use the new code instead.
Now producing removed / merged partial test vector via downwards traversal - but this needs optimisation.
Dramatic increase in performance after hoisting some computations out of the continuation workflow.
More hoisting of computations out of continuation workflows.
Using LazyList with delayed evaluation to optimise performance of top-down build up of merged / removed partial vectors.
Merge to bring in cutover to using top-down production of merged / removed partial vectors.
Update C5 library.
Turn down dial on one of the example unit tests, as permutations are considered more thoroughly now.

This in turn changes the first failing test case, so the signature has
also been updated.