Add Windows long path support

This adds support for Windows long paths through the "\\?\"
namespace.  Note that some internal Windows APIs don't support
longer paths (_wmktemp, _wchdir), and shells don't like the "\\?\"
namespace, so the internal length may still be limited.

Thanks-to: nitram509 <maki@bitkings.de>
Signed-off-by: Doug Kelly <dougk.ff7@gmail.com>