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.
Add DirectiveNodes, which render to nothing.

The purpose of DirectiveNodes is to turn modes off and on in the
renderer. At the moment, they do nothing, but possible directives would
be things like table cell alignment.
Give toXHTML() the currently enabled directives.

This shared state is updated when DirectiveNodes are rendered.

This is messy, as it involves passing around mutable state. A better way
would be to have a visitor for rendering, which handles this in a
central place. When I get on to adding multiple output formats, that's
the approach I plan to take.
Implement a directive for table cell vertical alignment.

Adds a directive `table-alignment` which assumes (at least, but more
ignored) one argument, which is a valid value for the CSS vertical-align
property. To be more forwards-compatible, it should probably be "top",
"middle", or "bottom".
Add DirectiveNodes to the visitor
Update Anchor and DirectiveNode to match new APIs after rebase