Using a custom formatter, it is now possible to use complex chaining in value substitution.
That way, one can easily get the dirname from paths, for example, or parts of the version.

It's a powerful, yet restricted micro-language for use in the entire kvstore. It also feels
quite natural, which should ease the learning curve.
Fixed a big which would cause type-conversions to be done before substitution the value.
Added custom type cache which will allow types to be auto-corrected without being explicit about it.
This allows very natural language within the kvstore.
ProcessControl now adds some default types to the Formatter map, which allows to conveniently
substitute versions for example.
PathList now supports the 'first_accessible_tree' method, which is great to root another package
within the root of another one.