Sema: Synthesize availability queries for non-platform domains in RawRepresentable
Synthesis of `init(rawValue:)` and `rawValue` for enums conforming to
`RawRepresentable` already handled enum elements with platform availability
restrictions but needed to be updated to custom domain restrictions.
This change also replaces the SILGen tests for `RawRepresentable` availability
with `-print-ast` tests that check the synthesized bodies of the derived
`RawRepresentable`, `Equatable`, and `Hashable` members directly. The new tests
are more comprehensive, both in their coverage of interesting cases, but also
in the completeness of the output that they check, while also being easier to
understand and maintain.
Resolves rdar://184726675.