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? 

Now that I tried to list them, there might be only that one other place in `core.UnitTester` which I saw initially, https://github.com/kogmbh/WebODF/blob/master/webodf/lib/core/UnitTester.js#L635 Somehow I expected more :)

This also made me look at `BrowserRuntime.log` where I learned that any log messages which start with `<` are set to innerHTML (thus need to be encoded) while all others are just passed into a new text node, so do not need encoding, okay. So still leaves the encoding problem with those `inBrowser`-special logging with custom spans, where the caller has to make sure things are properly encoded.
And I also learned from e.g. http://shebang.brandonmintern.com/foolproof-html-escaping-in-javascript/ that encoding is best left to the browser, e.g. by
```
function escapeHtml(str) {
    var div = document.createElement('div');
    div.appendChild(document.createTextNode(str));
    return div.innerHTML;
};
```
Hm. So what to do here without going over-board. Just the proposed fix still seems to be too hacky and done on case-by-case.

Oh well. Without a better idea, please just add a comment to it that this is an unclean fix to a certain problem.

And while talking, in line 637 it should be `test.description()`, not `test.description`, or? Please give that a patch as well.