While working on #20009, discovered than many of ESLint's built-in rules define `rule.meta.fixable` as `null`.
Since this is clearly an established pattern, correct TS types to accept `null`. Also accept `undefined`, as we do pretty much everywhere else that we accept `undefined`.
Both `null` and `undefined` were already handled at runtime. This just makes that support "official" in the TS types.
Fill out the TS type def for `RuleMeta`, based on [ESLint's docs](https://eslint.org/docs/latest/extend/custom-rules).
Most of the properties can be ignored at runtime in Oxlint (they're primarily useful for generating docs), but this has also surfaced a few features we need to implement. These are marked with "TODO" comments, and I'll also open issues for them shortly.