Require dependencies based on enabled CMake options

Merged Markus Rickert requested to merge rickert/libxml2:cmake-options into master

This PR modifies the CMake behavior for dependencies to match #207 (closed). Enabled options are now required and lead to a fatal error if missing. By default, iconv, lzma, threads, Python and zlib are enabled and ICU is disabled.

Please note, that autotools currently seems to enable these based on their availability and does not report an error if they are missing.

I've also updated the check for Python 3 compatibility to test for unistd.h and F_GETFL instead of WIN32.

Merge request reports