Some unit tests seem broken on Windows

I don’t see how the TestUtils.cs CopyDirectoryRecursive() could be working at all on Windows with the test data because of the long paths. CopyDirectoryRecursive() is using all System.IO calls which can’t handle those paths.

I think I need to at least modify CopyDirectoryRecursive() to use the systemIO class.

There are a lot more cases of System.IO being used throughout though. Moving to .net 462 will completely resolves this issue since 462 handles long paths. Then we just use AlphaFS for the symlink handling and possibly permissions.

The move to 462 really needs to happen. Otherwise there is a lot of duplicate work to get everything to AlphaFS and then later on to then have to remove AlphaFS for most everything. 462 and core handle the long paths.