Initial commit
Disable Garbage Collection

After Composer disabled garbage collection due to large long living graphs
I have wondered for quite some time if phpDocumentor could benefit from
the same thing.

Tests show that disabling garbage collection increase processing speed with
20% to 50%. This is a significant enough increase to warrant enabling this
and testing to see if it helps without too invasive disadvantages.
Only overwrite a configuration option if it contains a value

During testing we discovered that some configuration options became
unavailable due to the absence of this change. Perfectly good values
were overwritten with an empty value because the overriding configuration
did not override it.

To fix this I have made a change that will only copy a value onto the
configuration if it contains a value. This may have an adverse effect in
the future if we would want to disable a config value but we'll have
to check that out if it occurs.
Fixed a crash where traits that use other traits fatalled
Replace ZF Components with Desarolla Cache

In this commit we replace all references to the Zend Cache and its dependencies
to use the Desarolla Cache component. In the process we also remove any other
references to Zend Components with the exception of Zend\I18n
Remove obsolete parameters

The --validate parameter and --ignore-tags are considered obsolete and removed
from the various commands.
Add logging for new and cached files
Allow setting the title in the config
Add support for multiple backends

I have refactored the Parser of phpDocumentor to achieve several goals:

1. Remove business logic from the Parse Command class so that it becomes easier to use
   the parser from another context.
2. Decouple the Caching from the Parser so that the caching layer becomes entirely
   optional.
3. Separate the parser coordination from the actual parsing by introducing 'backends';
   these can deal with the actual parsing of individual files and populating the
   ProjectDescriptor.
4. Separate logging from the business logic.

In order to do this the architecture has been changed to make the parser responsible
for collecting files; booting the backends with the configuration and emitting events
so that logging and caching can be event-driven instead of coupled inside the parser.

While parsing a file the parser will find a suitable backend and, if one is found,
pass the file to the backend for parsing and to populate the project descriptor.
Fix find and replace introduced bug
Fix find and replace introduced bug
Move Document backend to Scrybe plugin
Change Parser to use Parser specific configuration and not global configuration
More refactoring!
Fix unit tests
Fix errors due to incorrect use of extends
Add support for the project root

In this commit we change the way the final paths are assembled and stored by
registering the root of you project on the current machine and stripping that from
every file that was discovered.
Update Reflection v2 library
Removed PHP 5.3 support from Travis
Merge pull request #1495 from mvriel/feature/add-support-for-multiple-backends

Add support for backends and revise parser architecture