fix: Respect root gitignore during prune (#12953)
## Why
`turbo prune --docker` could copy workspace-local `node_modules` into
`out/full` because workspace copies stopped loading parent `.gitignore`
rules. This broke Docker builds that expect root ignore rules to apply
across packages. Fixes #12946.
## What
Anchor recursive copy gitignore resolution at the repository root when
prune copies workspace and support directories, while still copying only
the requested source tree. Added regression coverage for root
`node_modules` ignores and preserved anchored root pattern behavior.