cmake: FindIce: Additional improvements

This is the result of a few rounds of review with the cmake upstream developers:

- logic greatly simplified and more maintainable
- detects Windows Ice packages using the registry
- much easier to override autodetected programs/libs/paths with cmake cache variables
- follows cmake `find_package` conventions

--no-rebase

--------

Testing:

- jobs should remain green
- Should build on all platforms with:

```
GTEST_ROOT=/path/to/gtest cmake -DICE_DEBUG=ON  /path/to/openmicroscopy
```

- For the special case of MacOS X with an **unlinked homebrew Ice** *and* **XQuartz installed**, add the options (for example):

```
-DICE_HOME=/usr/local/Cellar/ice/3.5.1 -DICE_ICE_LIBRARIES=/usr/local/Cellar/ice/3.5.1/lib/libIce.dylib -DICE_SLICE_DIR=/usr/local/Cellar/ice/3.5.1/share/Ice-3.5/slice
```

This is because the ICE_HOME layout is nonstandard, so the slice directory needs specifying manually.  ICE_ICE_LIBRARIES should be unnecessary--it was for me after I started from a clean tree.  If not, ICE_ICE_LIBRARIES overrides the incorrect autodetection.  Thanks to Apple and ZeroC for case insensitivity and reusing existing library names; MacPorts works around this by calling it something like libZeroC-Ice.dylib to work around the problem.
To work compatibly with cmake 2.8; note the related FIND_PACKAGE_HANDLE_STANDARD_ARGS change in this commit which drops the "FOUND_VAR Ice_FOUND" argument--this only exists in cmake 3.0.  The tradeoff is supporting the version of cmake found on all current Linux distributions, or requiring the very latest (3.x) which isn't yet in widespread use.  With homebrew and current Linux development distributions, these are all using 3.x, but all the current stable releases are on 2.8.