path2: Convert typedefs to `pub use`s

Turns out you can't call static methods on typedefs. Use `pub use`
instead to work around this issue.
path2: Replace the path module outright

Remove the old path.
Rename path2 to path.
Update all clients for the new path.

Also make some miscellaneous changes to the Path APIs to help the
adoption process.