More code -- "finish" GenericPath

Sort of. There are inconsistencies all around :/

First: in theory a PathElements instance can be built with different roots; in
practice, there's only "/".

Second: no symlink support at all -- not wired in yet.

Third: watch services still not wired in at all.