Rewiring transformer

The transformer is being changed to make better use of dependency injection. To this end
I have also updated the test for the transformer.
Refactor transformation process

* Loading of templates is done using JMS Serializer
* All dependencies have been re-arranged
* Processing of transformations have simplified
Refactor layer superclass away

To improve the architecture of phpDocumentor I have removed the layer superclass for the Transformer.
Replaced custom serializer with ZF2's Serializer object
Refactored Graph Writer to use Object Graph
Add inheritance to the Descriptors

Serializing seems to take references into account and this means we can add indexes and
links to parent classes or interfaces by adding references to those indexes. This commit
will add those capabilities and refactor the Reflector builder to allow easy coupling.
Refactor checkstyle writer to new style.

The Checkstyle writer had to be converted to the new style architecture
Refactor checkstyle writer to new style.

The Checkstyle writer had to be converted to the new style architecture
installer.php now supports proper command line args, including specifying php path
Make Twig writer fully functional

The Twig writer was not capable of querying the Objetc Graph and correctly creating
artifacts. With this refactoring we introduced a Object Graph Walker that is capable of interpreting
a light version of the twig syntax to get the correct element from an object graph.
Add Shared NFS to the Vagrant file to speed up NFS
Add routing

A crude routing implementation has been made so it will become possible to make the URL scheme
separate from the templates and so add more flexibility for creating and maintaining templates.
Improve twig support and descriptors
Continue work on the Descriptors to fill a new twig responsive template
Removed definition layer and/or moved it to TagDescriptors
Add todo to remind me where I need to tackle #756
fix transformations/template tag handling: getConfigValueFromPath returns array of strings
Added reference support for incremental processing

With incremental processing it is important to remove references to deleted code. Multiple
angles were investigated and currently we are adding 'real' references to objects in the code.
This means that if the value null is assigned to one of those references that the object is
destroyed rather than that reference being cut.

This allows us to remove the class from the index (and remove it's subreferences) and it will
be removed at all instances where it is used. Even though we do not know how many those are.
Remove unused use statement
Write tests for ArgumentDescriptor and ClassDescriptor

For the ArgumentDescriptor and ClassDescriptor classes should unit tests be written that
verify behaviour. During the writing of these tests was also the documentation updated and
some minor improvements made.