Introduce a de-listing feature and fix and improve unit testing legibility.

* Introduced a feature for de-listing list items. Tests for it are yet
  incomplete.
* Removed `normalizeHtml` because it was fixing broken HTML in some cases.
  This allowed some, otherwise failing, unit tests to pass. Specifically,
  one bug in table cell merging was uncovered and is now well represented
  in two failing tests.
* Tests regarding tables were altered to expect a `<tbody>` element, that,
  probably was previously removed by the `normalizeHTML` function.
* Some XML parser tests were fixed; they had unclosed `li` elements.
* Introduced HTML beautification for the unit tests.
* Introduced `domEquals`. This is a helper function for the unit tests
  that, like htmlEquals, compares between actual and expected HTML, except
  that, it extracts the 'actual' HTML straight from the editor so it does
  not pass through the parser.
  An outstanding issue with this is that the order of attributes in
  elements which have more than one is inconsistent. That fails otherwise
  passing tests. Perhaps a feature should be added to the HTML beautifying
  library, that orders attributes consistently.
  Another issue is regarding the self-closing of `br`; tests have been re-
  written to expect the `<br>` form because that is what Firefox and
  Chromium return from DOM element's `.outerHTML()`.
* Altered existing tests to use this new `domEquals`.
* This commit has been tested in Firefox 28 and Chromium 34.