Add functions to normalize Winodws & Unix paths

The purpose of these functions is to be able to join file/dir paths
safely without trailing slashes, basically for the same reason as
normalize_uri.  Some modules are really buggy when merging paths,
so instead of letting them do it, it's better to use these functions.
Update the test description a little better
Drop support for UNC path parsing in normalize_win_path

Not really a good idea to try to parse UNC format. Confuses the
purpose of the function.
Keep the trailing slash if the user wishes
Add another test case
Not Windows format, Unix.
Add another test case for having a trailing slash for unix path

If a trailing path exists in the original input, should keep it.
This test case should verify that.
Land #2146, Unix and Windows path normalization