This fixes (what I think) is a bug in copySync

The issue is that copySync applies the filter **only** at the root level of a recursive
copy.  This adds a test (that failed with the original code) that checks to make sure that
the filter is applied recursively.  The patch to lib/copy.js then addresses this issue
with a simple fix and the tests pass again with the patch.