10.50 was once greater than any real macOS version, but now it compares
less than real released versions, which makes these tests depend on the
deployment target unnecessarily. Update these tests to use even larger
numbers to hopefully keep them independent a little longer.
Destructors are always called if declared, so allowing deinit to be declared as
unavailable (or potentially unavailable) creates a type checking loophole that
allows unavailable code to execute at runtime:
```
class C {
@available(*, unavailable)
deinit {
print("Oops")
}
}
_ = C() // prints "Oops"
```
Resolves rdar://106409012 and https://github.com/apple/swift/issues/63854.