cli: Add required `--experimental` flag for experimental features (e.g. `--trim`) (#56045)
The intention here is to clearly signal when a feature is "not yet fully
implemented" vs. "feature-complete and in pre-release" vs. "fully
released and ready for production use"
The only feature gated behind this right now is `--trim`. Trim has its
core functionality implemented (and folks seem to be enjoying it!) but
the deployment / linking story in particular is still in its very early
stages, esp. because our existing techniques for, e.g., pre-loading
`libunwind`, `libstdc++`, etc. no longer work in a shared library
context.
Once `--trim` is ready for a broader chunk of the ecosystem / language,
we can peel off the `--experimental` flag