Mount points

Handle better *actual* mount points - where you mount a volume in the path space of another volume.  For example, you can format an NTFS volume and mount it at `C:\Foo`.  Various operations can fail when you point a repository at a folder underneath that mount point and others fail at the mount point directly.

We cope with these by examining the canonical path of the folder in question and if the canonical path is a volume mount point (ie, `\??\Volume{...etc` then do not resolve it further.)

This is a different perspective on #2611.

This function does not appear to make any use of the second parameter, `target_len`. We should eliminate it from the prototype if it is unnecessary.