Adding more tests for Descriptor/ClassDescriptor
[#897]: Interpret subpackages and classify classes into them
#639: Add HTML Purifier to Composer

This commit prepares the solution of #639; where we are going to add an optional guard against
XSS attacks. The guard is optional because it slows down running phpDocumentor ten-fold and
90% of the projects have trusted developers.

For people doubting about trust or running public uncontrolled services can they enable this
safeguard.
Adding tests for Descriptor/ClassDescriptor, also fixing a few coding standard errors
Add missing @covers tag
Fixed typo and added missing FileDescriptor type hinting to avoid possible non-object errors
Fix inline doc typehinting.
Set correct return type in docblock for getSubpackage()
Adding tests for Descriptor/DescriptorAbstract
fix some copy/paste errors in comments
Adding tests for Descriptor/DescriptorAbstract
Add tests for not covered code on Descriptor/DescriptorAbstract
adding more tests for Descriptor/InterfaceDescriptor, also fixing incorrect returns for getInheritedMethods() and getInheritedConstants. Collection::merge() does not return itself, but a new Collection with the merged items. Also interfaces can have multiple inheritance, therefor InterfaceDescriptor::$parents should be a Collection
Merge branch 'develop' into release-2.0

Conflicts:
	composer.lock
Merge branch 'develop' into release-2.0
Removed references to the manual installer
Made a fix for windows users; files should now be written to the correct location
Add support for generating routes for file templates
Minor DocBlock fixes
Fix inheritance for Interfaces
Only generate a key when a default value is actually provided