Initial path validator

This WIP PR adds a PathValidator class and a PathValidator interface.

It aims to apply the same validation rules as Jackrabbit.

Currently having difficulties getting the regexes to work.