Started some refactoring

Just seeing where this goes really, the aim is to support updating routes.

The "chain" in the config is now only for the directory elements, and there will be a separate config for the "content element". So "Patching" the path leading up to the content element is completly separated from the creation of the actual "content" element at the end of the path.

Have also refactored the Context so that each builder (PathProvider and Exists/NotExists actions) operates on a single object, the RouteStack, which should make things more comprehensible and efficient.

Still very early in refactoring.