Emit a warning instead of an error for unknown rule selectors (#26113)
Summary
--
This PR fixes #14443 by deferring rule parsing. This allows
deserializing configuration files and
CLI arguments with unknown rule selectors and enables us to emit a
warning instead of a hard error
when encountering an unknown selector. This will also help with #25887
because we can also defer
parsing until we have an accurate `preview` setting for checking whether
human-readable names should
be allowed. I've left some of this infrastructure in place in this PR,
with the `preview` argument
currently unused.
Test Plan
--
Existing tests updated to show warnings instead of errors