Makes compiling from the Visual Studio IDE much faster when using the
solution and projects generated by cmake.
For the externals I hijack the `disable_warnings` function.
This commit makes common external packages always be included through
find_package to eliminate differences in variables set, wraps
find_package for vendored libraries on Windows to factor out common
code, and removes miscellaneous useless code elsewhere in dependency
handling.
This also fixes a problem where pkg-config would pick up `build`
libraries instead of `host` when cross-compiling.