Fix typehint in DescriptorAbstract->setErrors()

Also remove code from FileDescriptor that is implemented in parent
class DescriptorAbstract
Merge pull request #803 from tommygnr/fix-typehint

Fix typehint in DescriptorAbstract->setErrors()
Fix 2 potential bugs when there are not interfaces
Merge branch 'develop' of github.com:phpDocumentor/phpDocumentor2 into develop
Fix #802; structure.xml should contain full messages

Errors in the generated structure.xml did not contain a complete
error message, instead the error code was registered. To fix this
issue a new interface for writers was introduced to declare that
they should support translation of items and the XML Writer
should use that to translate the code into a message.
[#787]: Trim package name

When setting the package name it should be trimmed to that no awkward packages
are created that end in spaces.
Add exception to vagrant file so that NFS is only used with Linux and MacOSX
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.
Automatically create the target directory if it doesn't exist.
Added and rephrased the related error messages accordingly.
Clean up Translator Proxy.

The translator proxy was missing a few DocBlocks, methods to complete
the proxy and tests. This commit simplified the API and filled in the
gaps.
Remove erroneous test case
Fix #808; Invalidate cache upon change of settings

The infrastructure has been added to invalidate the
file cache if the settings of a project descriptor have
changed and this has been verified with the Parse private functionality.