Merge master into ResearchLiveHTML and fix a couple of issues

@dangoor / @jasonsanjose 

Not worth reviewing the whole thing obviously :), but there were two things I had to fix:

* When merging from master, I had to adapt my previous fix for the HTMLInstrumentation performance issue to the ResearchLiveHTML version of the code--this is in `HTMLInstrumentation.instrumentGeneratedHTML()`. Might want to look at the diffs there to verify that my change makes sense (though since it's passing the unit tests I assume it's probably fine).
* There was a unit test that was failing in the original ResearchLiveHTML branch. I tracked this down to the fact that `doFullAndIncrementalEdit()` wasn't resetting the mark state between the two tests. For most tests this is fine since the actual marks aren't affected by the edits, but in the case of adding a new tag, a new mark is generated, and it needs to be removed before doing the incremental version of the test. So I just fully reset the editor state between the two tests now. This change is in the last commit, 459ee4b.