When invalid tags are processed a null was returned causing all kind
of issues in the normal behavior of this libary. As a solution a generic tag
could be created. But that would just drop the error information in.
Therefore a new tag was introduced, `invalidTag` the tag is just like the
generic tag but does contain the error triggered during the creation of the
tag. Which might help applications like phpdocumentor to display validation issues.
* composer: put require- together
* add phpstan
* add phpstan to travis
* phpstan fixes
* phpstan fixes
* phpstan fixes
* drop null defaults since every property is null by default
* DescriptionFactory: fix parse nullable type
* travis: add phpstan max
* travis: fix phpstan config
- Changed Tag to an interface and flattened hierarchy
- Changed Description to accept a list of tags and a template
- Allow auto-wiring when constructing tags