Flesh out MacOSVersion tests
MacOSVersion -> MacOS::Version
download_strategy: move requires out of method

This can cause subtle issues when an exception is marshaled between the
build process and the main Homebrew process, as the marshaled exception
may contain URI objects even when the main Homebrew process has not
loaded the URI library.

Closes #17642.