PathPrefix: implement relativness and absolutness

I thought that it would be natural and useful for a `PathPrefix` to know about its relativeness and absoluteness, and to expose it as a public interface.

Bonus of this change is that now all methods operate on the `PathPrefix` itself, instead of taking strings as arguments and modifying *them*.