Initial path validator

This WIP PR adds a PathValidator class and a PathValidator interface.

It aims to apply the same validation rules as Jackrabbit.
According to the regex, this is valid. Should it be shifted to invalid?