Table header cells can only contain text
Remove priorNonWS and directly consider the last token emitted in determining START
Handle macros making blocks inside inline scopes.

When a macro in an inline scope expands to produce a block element, it
gets promoted to the next block-containing scope.

This introduced a number of changes to ASTNodes:

 - A node now knows if it's a block-level element, and if it can contain
   other block-level elements.

 - Macro expansion, internally, operates on lists, where an expansion
   returns a list of there were things which could not be incorporated
   at the lower-level due to block issues.

 - In order to cope with macros in inline scopes expanding into
   paragraphs, and so being promoted, a notion of when nodes can merge
   with each other safely was introduced. Currently only paragraphs can
   merge.
Handle malformed (empty) table cells.
Make check for error message case insensitive
Merge pull request #30 from Barrucadu/more-restrictive-tables

More restrictive tables: fixes some test failures and inconsistent handling of "=" in formatted table cell contents.  https://jira.int.corefiling.com/browse/REVIKI-341
Merge branch 'fix-webtests' of https://github.com/Barrucadu/reviki into Barrucadu-fix-webtests
Merge branch 'Barrucadu-fix-webtests'
Fix some bad merging.