Instrumentation of transform, to allow development of decision table runners that give feedback

The data of the instrument includes sparse arrays of row matches, cell matches, and details on how apply! changed columns.

If you would prefer me to squash the commits, let me know and I will. I am forcing myself to become pure TDD, which is why the test coverage is a little verbose.

Also I added guard as a development dependency, let me know if you would prefer to take that out.

The first runner I work on is going to be an Excel template with some VBA to call out to run rufus-decision, and color cells according to the matches, because Excel will be the most useful for my end users.