Some awesome CMake tweaks and tricks for advanced feature reporting at the end of a CMake run

see the commit messages for details (easpecially 1baaaeb)

These changes still need to be tested on systems without Eigen3 or FFTW.