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.
or instead of in add_file itself, put it in BUILDARGS for Dist::Zilla::Role::File.  The important part is that a file object can never be given an illegal filename, through any execution path.