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
Merge pull request #25 from barrucadu/renderer-directives

Renderer directives: https://jira.int.corefiling.com/browse/REVIKI-341