feat: opt into breaking changes and pre-stable features early with `turbo.json` configuration (#10590)
### Description
We want to smooth migration paths for users when we introduce
functionality with breaking changes. This can be difficult with
point-in-time majors that might force a user to make many breaking
changes at once.
Instead, we can introduce the concept of "future flags" to allow you to
opt into breaking changes early. As a user, you get to have more control
over when you adopt breaking changes. As a core team, we get more
freedom to iterate, resulting in faster feedback cycles with users.
This PR only introduces the flag to the parser, not adding any flags
quite yet. This key is only allowed in root `turbo.json`s.
### Testing Instructions
Added some tests. I also tried it out manually (and trivially). It
worked how I'd hoped.
---------
Co-authored-by: Chris Olszewski <chris.olszewski@vercel.com>