PHPCR wrapper

The PHPCR wrapper ultimately aims to be able to wrap all of the PHPCR
objects as required.

Currently it wraps the `Session`, `Node` and `Property` classes, and enables us to use our own classes and effectively
extend the nodes returned from the PHPCR repository.

__Tasks:__

- [x] test coverage
- [ ] gather feedback for my changes
- [ ] create documentation

__Next Steps__

This PR could be split into two packages:

- Wrapper package: The wrapping logic is completely generic
- PHPCR-API Wrapper: Depending on Wrapper package and containing all the PHPCR wrapper objects and Traits.

__Informations:__

| Q             | A
| ------------- | ---
| Tests pass?   | yes
| Fixed tickets | #173 
| BC Breaks     | NO
| Doc           | not yet
@dantleech i think we should put in docs perhaps only put a link in this file!