Style: drop EOL at EOF.
Upgrade lit tests: more regex, more detail.

Use lit's regex features to create more detailed unit tests.
Trivial: use tee for test outputs.

This improves the test-exploration experience by making debug outputs both immediately visible *and* persistent.
These comments have already been addressed.

We already have more fine-grained debug control.
Output more information about clones.

When we clone from instance X in state sx to instance Y in state sy, we previously only output X, sx and sy. With a little refactoring, we can output all four variables.
Generic keys should cause updates, not clones.

We clone when a key is more *specific* than an instance's name, not when it is more generic.