Clean up OdtDocument cursor position tests

Make OdtDocument cursor position tests more granular in how they are reported. This makes it easier to troubleshoot individual failing tests as the individual test is more specific.

* Extend core test runner to cope with test names containing angle brackets
* Verify the number of steps vs. expected number of cursor positions
* Remove doc length check for non-changing variables
* Report one test per cursor position document fragment
Brandon and I share the same opinion about the best way to do escape.

I don't mind leaving this as a nasty hack for the simple reason that if it looks like a bad hack, no-one will be tempted to copy it out of the file :crossed_flags:. Or... if they do, it should become extremely obvious to the reviewer that this code was never meant to make it into production!

But, I will happily comment the line to reinforce this!