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
Hrm. Where else are you proposing this encode function being used? 

I actually would like to never see such a thing in production code, as the somewhat uncontrolled string concatenation happening here seems like very bad practice to me.