cmake: Add cmake 3.0 compatibility check

From bioformats develop.
cmake: Write build.py output to files

Suppresses output when running cmake directly.
cmake: Add debug-ice-generation option

Displays results of ice source generation and globbing for
debugging purposes.
merge develop -D org: PR 2391 (Imagej omero (rebased onto develop))
merge develop -D org: PR 2435 (cpp: RTypesI: use static locals in place of duplicated globals)
merge develop -D org: PR 2560 (for-loop fix removes 'undefined' from reset dialog. See #12301)
merge develop -D org: PR 2747 (Bugfix: Saved by display)
merge develop -D org: PR 2792 (fix #11096: ensure that new %time% directory is unique (rebased from dev_5_0))
merge develop -D org: PR 2795 (Use mklink under Windows (rebased onto develop))
merge develop -D org: PR 2797 (OmeroCpp: switch build system from SCons to CMake)
merge develop -D org: PR 2799 (Auto close (rebased onto develop))
merge develop -D org: PR 2805 (`fs rename` command for modifying template values (rebased onto develop))
merge develop -D org: PR 2809 (Update develop submodules)
merge develop -D org: PR 2810 (Pytest markers registration (rebased onto develop))
merge develop -D org: PR 2812 (Overhaul of Insight's Search, Part 2 (rebased onto develop))
merge develop -D org: PR 2813 (Sphinx api improvements (rebased onto develop))
merge develop -D org: PR 2821 (12252 script limit (rebased onto develop))
merge develop -D org: PR 2824 (Use "pid" instead of "state" for checking service. (rebased onto develop))
merge develop -D org: PR 2830 (Show error message if group permission downgrade fails (rebased onto develop))
merge develop -D org: PR 2831 (OmeroCpp: Add portability fixes for gtest)