exception refactoring to only use doctrine exceptions

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | PHPCR-71
| License       | MIT
| Doc PR        | --

This is a minimal PR to not throw any \InvalidArgumentExceptions or \RuntimeException anymore but all based on PHPCRException or doctrine commons MappingException. What could still be done is moving exception messages into factory methods to clean up the code, but that will be no BC break (created http://www.doctrine-project.org/jira/browse/PHPCR-116)