In this change, I have introduced a miniature automaton-light to parse
the type from the @return body. This will prevent issues with people
using generics and other unsupported forms of types.
This change does _not_ allow for the use of Generics or similar; the
TypeResolver will still fail to resolve this type. This will remove a
breaking issue in consuming applications where a runtime exception used
to be thrown.
Please note that this change is only for @return; other tags still need
to be done. This will resolve issue #186
When a tag has an invalid component to it it would cause a whole file to fail
to parse. Instead we should consider invalid tags a nuisance but not worth
breaking the whole parsing over.
In this change I have added a try..catch that will prevent invalid tags from
breaking the whole parsing process.