(PUP-3945) Fix checksum recursing directories
When copying a directory from a source with recurse enabled, any files
copied this way would be forced to the configured default. That meant
they're copied every time you initialize the resource, even if already
present.
This fix lets the files be managed by the checksum property on the
resource. It also updates a prior spec test that confirmed the previous
hack that was required to work around checksums failing to be copied
across the indirector.