Give Creole renderer tests link handlers
Update link tests to work with link handler
Merge pull request #20 from Barrucadu/link-handler-tests

Link handler tests
Add renderer test cases for bugs 2144, 7228, 8784, and 10978
Implement basic (incomplete) ANTLR parser for WikiCreole.

 - Implement (not fully tested) grammar for WikiCreole.
 - Verify functioning of all inline elements.
 - Include some simple tests.

NOTE: This brings in ANTLR 4 as a dependency, and requires the parser and
      lexer to be generated within the package

    net.hillsdon.reviki.wiki.renderer.creole.parser

Work remaining to be done:

 - See TODOs scattered through code.
 - Test (and probably fix) block level elements.
 - Replace unordered list symbol with '*'.
 - Integrate with main project testsuite.
 - Test against current wikis.
 - Integrate with main project renderer, replacing the current
   regex-based WikiCreole handler.

What would be nice to do:

 - Determine how much of the existing RenderNode/ResultNode architecture
   can be simplified as a result of moving to a proper parser.
Add a newline helper token, ignore whitespace, and constrain headings, rules, and lists to starting at the beginning of a line
Restrict lists to containing an inline, and require ParBreaks between blocks
Implement horizontal rules and {un,}ordered lists
Remove now-redundant check for whitespace between inlinesteps
Implement NoWiki blocks, and fix inline NoWiki ending with more than three }s
Implement tables
Match all headings with a single rule

 - Add a new lexer rule HSt
 - Value of HSt is the prefix, with all whitespace trimmed
 - Level of heading is length of prefix
Get rid of the RenderNode/ResultNode mess

Turns out that RenderNodes were how the regex renderer was doing a
"parse tree", and they were actually not necessary (probably) when using
a proper parser. I removed those and gave extra parameters to the
ResultNodes where necessary.

This brings the code significantly closer to being able to integrate
with the native testsuite.
Remove unneeded import
Integrate with main project testsuite

This reveals two main classes of bugs:

 - Actual bugs
 - False positives due to different indentation/linebreaking of output.

Not sure how best to fix the latter class. The best solution is to
remove unimportant whitespace from the expected and actual results (but
that is work). I'll probably just ignore them, and rewrite the expected
results when the original renderer is replaced.
Escape HTML entities in plaintext nodes
Trim whitespace between header prefix and text
Fix inline NoWiki being turned into blocks
Correctly handle empty table cells and trailing separators.
Fix test for bug:7228