refact(tagParser): use own-grown tag parser
feat(nameProcessor): add support for param aliases
fix(typeProcessor): attach optional property to tag if type is optional
refact(tagDefs): update the tagDefs to work with the new tagParser
refact(MockTags): remove as we can use TagCollection instead
test(filter-ngdocs): use TagCollection rather than MockTags
style(tags.spec): remove unused variables
refact(tag-defs): ngdoc now adds to jsdoc tagdefs

Before, it was replacing the jsdoc tagdefs.
fix(tagParser): cope with tags that have no following whitespace
fix(tag-parser): add better error message
fix(typeProcessor): add better error message
fix(api-docs processor): don't contaminate the global context
feat(trimProcessor): add tag processor to trim off whitespace
feat(tagParser): ignore tags inside fenced code blocks
style(examples-generate processor): remove unused requires
fix(examples-parse): ensure that code blocks are rendered correctly
fix(escaped-comments): re-code HTML escaped comment markers

Some files (like CSS) use the same comment markers as the ngdoc comments.
To get around this we HTML encode them in the source.
This processor decodes them back to normal comment markers.
fix(ngdoc templates): ensure type hints are escaped

Some types contain what appears to be HTML. For example,
`Array.<Object>`, which can be interpreted by the browser as an opening
object tag.  This commit ensures that these type hints are escaped.
chore(coverage): add coverage testing
fix(typeProcessor): handle escaped braces