BUG: reading windows utf8 filenames in py3.6
- [x] closes #15086 properly
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Test that was added in prior fix was failing on my machine, where my locale was set to `CP-1251` (which apparently cannot handle some unicode symbols in the test even when using MBCS, as MBCS encoding is locale-dependent).

This PR fixes the issue removing the workaround by switching to converting UTF8 to UTF16 and using Win32 Unicode file API (much like Python >= 3.6 does internally).

P.S. This as a bonus adds possibility to use `\\?\C\long\file\name` addressing if desired to overcome 260 symbols limitation on path length.
