Fix JDK8 incompatible comments

In JDK8 javadoc runs a lint pass over the documentation and fails if the docs
are not valid HTML. Also, see following article for a more in-depth 
discussion (http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html)

Removed all occurrences of <br />,<p /> and replaced them with <br> and
<p>.
Extract abstract model class Recognizer (parent of Parser and Lexer)
Implement token vocabulary (fixes #711)
Fix test compile error by avoiding string literal assignments for the large lexer test
Allow XPath matching by literal or symbolic name (fixes #579)
Require Maven-plugin-plugin version 3.3 

Reporting targets fail for dependants of the maven-plugin-plugin with
JDK 8, because the plugin generates invalid javadoc.
This has been fixed in version 3.3. 

Also see: https://jira.codehaus.org/browse/MPLUGIN-244
Fix getSourceName returning null (fixes #667)
Add additional NotNull and Nullable annotations
Cache the Java code generation templates
Move doc comments to comments channel (fixes #465)
Define a constant for the comments channel number
Sign contributor agreement
Use LinkedHashMap for deterministic behavior in Graph class
Deterministic token names and types for string literals
Output listener and visitor methods in grammar order
Add closing p tag

After discussion with sharell it turns out that some of the automated
 translation tools used for creating other ANTLR language targets look 
for closing tags (for one reason or another), so for this project 
the practice is to explicitly close all tags.
Merge pull request #712 from sharwell/fix-711

Improve runtime vocabulary information
Merge pull request #720 from sharwell/cache-java-templates

Cache the Java code generation templates
Merge pull request #722 from sharwell/fix-667

Fix multiple issues with getSourceName
Merge pull request #723 from sharwell/fix-465

Move DOC_COMMENT tokens to the comments channel