Avoid hardcoded locations of system headers libre checks for header existence by searching them in a few filesystem locations. Debian's /usr/include/<triplet> is not always among those locations and that makes libre fail to build when built against a non-glibc or a glibc with multiarch headers (see <https://bugs.debian.org/798955>). This patch replaces those file existence tests with compile tests. The compiler knows much better whether headers exists.
Remove unused MACHINE. Without SYSROOT (see separate patch) MACHINE is mostly unused: The only use is setting up CROSS_COMPILE and OS, but these are supposed to be set by a user for cross compilation. Removing this code makes win32 behave just like any other arch and MACHINE can go in the bucket.