Add support for out-of-tree build
Move Darwin version handling into DarwinPlatformSettings
Set Environment tools= from platform settings

This allows Linux and Darwin to pass None instead of ['mingw32'].