chore: Extract config and engine builder modules from `turborepo-lib` (#11346)
## Summary
This PR continues the modularization of `turborepo-lib` by extracting
configuration and engine builder code into separate crates:
- **Creates `turborepo-config` crate** (~1,900 lines) containing
configuration management
- **Enhances `turborepo-engine` crate** (~1,400 lines added) with engine
builder and related types
## Changes
### New `turborepo-config` crate
- `ConfigurationOptions`, `TurborepoConfigBuilder`, `Error`
- Environment variable handling (`env.rs`, `override_env.rs`)
- File-based configuration loading (`file.rs`, `turbo_json.rs`)
### Enhanced `turborepo-engine` crate
- `EngineBuilder<'a, L: TurboJsonLoader>` - now generic over loader type
- `BuilderError` and helper error types (`MissingTaskError`,
`CyclicExtends`, etc.)
- `TaskDefinitionFromProcessed` trait for task definition conversion
- `TurboJsonLoader` trait abstraction for dependency inversion
- Validation utilities (`validate_task_name`)
## Test Plan
CI should show no behavioral changes.