Extract class: PosixPathHelper.

POSIX and Windows treat paths differently.  This extracts the
POSIX-specific behavior into its own class.
Add a WindowsPathHelper class.

This adds Windows path testing/modification support, although still not
full Windows support (#5).