Graph experiment

This merely renames a bunch of types and constructors, because they're
already structurally a rooted tree and a free category.

Experiment because undecided whether vocabulary from graph theory is an
improvement or rather too disconnected from normal filesystem
vocabulary.
Simplify Data.Path, move full API to Core module

The intention being to make Data.Path more approachable to new users and
to lessen the risk of name conflicts from importing it openly.
Documentation
Move modules back to System namespace

It started to feel a bit odd to have a `Data.Path` that uses graph
theory but is only for filepaths.  It seems this module namespace could
be useful for a less specialized path category library.

We're already heavily dependent on GHC so if you have to use other
packages that provide `System.Path` together with this package, it's not
that big of a deal to need `PackageImports` as well, or you can simply
import from `System.Path.Core` alone.

I rather like `System.Path` anyway.
Use "filesystem" consistently in documentation

Instead of "file system".