[skip ci]
Skipping CI because I know the build is currently broken with this commit; I'm going to revert our use of mDNSResponder and add back our libsystem_dnssd stub, and then patch up libresolv/libinfo to fix DNS resolution (if necessary)
The main goal of this commit is to make it more easy to add or update any architecture we want to support (such as ARM64). Any changes we want to make would be done in the architectures.cmake file.
The secondary goal of this commit is to encourage a more architecture generic nomenclature. We shouldn't use i368/x86_64 unless we are dealing with code that is specific to those architectures.
The public headers are imported from the macOS SDK and from the last released OpenDirectory (version 146); it's ok to import them from the SDK because they're still APSL licensed
Reason: CMake's dependency scanner doesn't detect that some of the headers are generated and it doesn't try to generate them for other targets that depend on them indirectly (e.g. libc) and therefore parallel builds will fail.
The temporary solution is to check-in the generated headers into the source (just like we were doing before in `platform-include`). The proper solution would be to manually add dependencies for each target that needs the headers (which is pretty much *everything*), but that's ridiculous. Honestly, CMake should be able to detect this on its own, but whatever; this is a workaround.
Added IOKit to usr/include for IOKitTools (IIRC?) because it uses `Kernel/IOKit/IOKitDebugging.h`, and our Kernel framework headers directory is just a symlink to usr/include at the moment (this'll be fixed later)