Several notable fixes:
- Fixed a bad bug with <span> remover: since moving the child node to a document fragment changes the indices of the childNodes collection, this would leave several nodes in limbo, with the net effect of removing their text from the document.
- Fixed the empty-<em> remover to replace the empty <em> with a space, instead of a removing it entirely; this leads to a lot fewer wordsstuck together, which were starting to accumulate erroneously in substitutions.json.
- Warn instead of error on bad substitutions: this makes it easier to actually find the bad substitution afterward, since then the output still happens.