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.
Why is the push not just around the Ice header here?  It will suppress warnings in the other local headers included below.  If that's the intent, those headers should also use the push/pop rather than it being an non-obvious side-effect.