Basic execution differencing
Restore the execution indexing/differencing design which was present (although unused) in earlier implementations. The design is essentially the same as the one in my thesis, but environments currently contain “explained” values, rather than plain values, which probably impacts the amount of sharing between executions. I will revisit this in a later release. Added enough user interface to present the idea at IC 2019.