Hierarchy transparent

Hi Andrew,
As discussed during the stand up meeting this morning, I put all my codes together for you to review the working transparent hierarchy features except the getParent() implantation, which is separated and expressed in https://github.com/fcrepo4/fcrepo4/pull/388.  This includes the transparent hierarchy support for versions and all other components in the main fcrepo4 repository.
A "System.out" is probably not adequate for stopping the NPE on the following lines.