feat(Turborepo): Use a wrapper around the raw strings we pass to globwalk (#6847)
### Description
- adds a wrapper type for strings that we intend to use as patterns, or
parts of patterns, for globwalking
- does some transformation on the raw strings (`to_slash`, `clean`,
escape or error on `:`, etc.)
- DOES NOT remove any path or pattern transformations inside the
`globwalk` code. Some of that is likely duplicate work now, which we
ought to tackle once we're confident we're validating properly, and
perhaps do an earlier step to compile to an intermediate format.
- DOES NOT propagate beyond existing call sites, with the exception of
`WorkspaceGlobs`, but even that could probably use another pass. It is
very likely that some of our data structures could hold `ValidatedGlob`
instances rather than strings to both 1) validate earlier and 2) avoid
duplicate validation
### Testing Instructions
- Existing tests updated to use new type signature
Closes TURBO-1972
---------
Co-authored-by: Greg Soltis <Greg Soltis>
Co-authored-by: Chris Olszewski <chris.olszewski@vercel.com>