fix win32 manifest test failures and prevent future failures

This issue was introduced by e00f4ae1816ad5469318600bbd1e3b056badf9a5

Not all OSes have the same rules for what may be in a filename. This branch skips testing files that have illegal names.

Further, by round-tripping input from Unix to local to Unix and comparing the results DZ::Tester now tries to determine whether a path is legal on the current OS. This is not optimal, but works well enough to recognize some recently introduced pathological cases.

Could maybe be made more strict by comparing whether the number of volume, dirs, base entries in the objects is the same between all the participants.
This change should also go into Dist::Zilla::Role::FileInjector::add_file, and probably also in an 'around' method modifier on 'name' in Dist::Zilla::Role::File to ensure that a file cannot be added nor renamed to an illegal filename.