add doctrine orm mapper and cleanup the base mapper to have no phpcr specific code

the changes in the phpcr mapper should be no bc break so it should be fine to put into the 0.9 which master currently represents.

this PR does not cover to not expose class names publicly as this involves more refactoring on the library. i created a feature request for that: #57 . same holds about #58, it would be nice to be able to mix objects from various mappers but its out of scope for this PR.