Add HierarchyInterface for nt:hierarchyNodes

This PR adds an ``HierarchyInterface`` that can be implemented by documents that resolve to an nt:hierarchyNode. The ``Folder::addChild`` method required an ``AbstractFile`` as parameter and is changed to have the ``HierarchyInterface`` as parameter. This allows nt:hierarchyNodes that are no ``File`` or ``Folder`` to be added as child of a ``Folder``. The ``Symfony\Cmf\Bundle\MediaBundle\Doctrine\Phpcr\Media`` is an example of this.