Kernel refactor [preview]

For @ajs6f comments.
Do you have any intuitive sense of what _would_ throw a `RepositoryException` here? Glancing at the code, it looks like it is almost certainly going to be a `PathNotFoundException`, right?

_If_ so, then right now I would introduce `OurPathNotFoundException < RepositoryRuntimeException`, alter `PathNotFoundExceptionMapper` to catch it as well as `PathNotFoundException`, and add a `catch{}` block here to catch `PathNotFoundException` and throw `OurPathNotFoundException`, which (as a `RuntimeException`) can be mapped by JAX-RS without type-testing.

Or is there something else likely to be going on in JCR that would crack out here?