Fix --always-copy

a redo of PR #496 for fixing #495
- drops the 3rd commit that people were unsure of
- let's the unit test run for windows, since it should be harmless