Fix Windows normpath behavior in `auth.canonical_uri`

Takes #1606 and does the following:

 * Merge into the `develop` branch
 * Add unit tests