WIP - stage 6. Now using 'IDictionary' instead of 'Map' as the outbound partial test vector type when merging them. This has made the unit tests rather messy, but I think it makes the rest of the client code nicer (and avoids having to create new maps for bounced full test vectors.
Cutover node tests to using 'IDictionary', plus a minor change to the implementation of filling out a partial test vector.
Merge to produce a commit purely for benchmarking against changeset 440 - want to investigate performance impact on Node tests.