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.
`filter` can be a function or a regular expression
for filter:function, `filter(src)` must be true for copy
for filter:RegExp, `filter.test(src)` must be true for copy