Cpp: Update to match the FindIce macro behaviour

Additionally, include links to the upstream cmake documentation
and add common cmake search variables which might be required.

This matches the changes in https://github.com/openmicroscopy/openmicroscopy/pull/2949

--no-rebase