Reduce Ice-generated C++ warnings

Rather than simply listing (and ignoring) all the warnings
that come with ZeroC-generated code we now suppress their
output at the cmake level.

In addition, using `cmake -Dfatal-warnings=true .`
will make all warnings an error which forces cleaning
up these issues.

/cc @rleigh-dundee @sbesson -- suggestions on better header names welcome.
As for the other flags below, I'd caution direct use for portability reasons.  Also, the set of warnings varies from compiler to compiler (and version to version) so the chance of having a warning-free build across the board for all platforms is fairly low, and the consequent of erroring out makes its utility quite limited.  It only takes a new GCC or clang release to add a new warning to the `-Wall` or `-Wextra` collections (or increase the strictness of their parser, which happens quite often) for a fatal error to occur. For this flag, the end user can set the compiler-specific option at their own risk, so not sure support for it really belongs in our scripts.