Fixed a fatal error: PackageInterface now inherits from NamespaceInterface.
Improve message in XSL writer with broken structure file

If the structure.xml is broken a generic error is provided that
does not detail which issues were found. This commit expands that
message with the error that was encountered with libxml.
Made the Xml writer generate a @generated-path attribute for each file.
Required by some legacy templates.
Merge pull request #807 from boenrobot/structure-fix

Made the Xml writer generate a @generated-path attribute for each file.
Merge pull request #806 from boenrobot/interfaceError

Fixed a fatal error: PackageInterface now inherits from NamespaceInterface
Fix #759; @internal tag should prevent parsing of element

Elements that are tagged with @internal should only be processed if the
project is configured to process internal visibility (default is off).
This behaviour was broken during the beta refactoring, or didn't function
properly to begin with.

With this commit the functionality is re-introduced and moved a point where
it can be cached.

An edge case was introduced here; if the visibility changes than the cache
would contain invalid data because it won't recognize that the files were
changed. Issue #808 and #809 are created to combat this edge case and
prevent future edge cases with Project settings.
Merge branch 'develop' of github.com:phpDocumentor/phpDocumentor2 into develop
Updated the composer lock file
Fix #809, #810; Create settings and Store in Cache

For the ProjectDescriptor to do its work it can be configured with a Series of
settings that may be stored in the cache for use in the transformation proces.
During this session a Settings object was created with a visibility setting and
persistence was added.