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.
Further thought.  Rather than the above approach, you could also just take CXX_FLAG_LIST, remove the warnings you don't want with `list(REMOVE_ITEM CXX_FLAG_LIST warning1 warning2 ...)` and then convert to ICE_FLAGS.  This has the virtue of being simple and also of keeping the maximal set of warnings in place with just the annoying ones taken out.

```
string(REPLACE " " ";" ICE_FLAG_LIST ${CMAKE_CXX_FLAGS})
list(REMOVE_ITEM ICE_FLAG_LIST warning1 warning2 ...)
string(REPLACE ";" " " ICE_FLAGS ${ICE_FLAG_LIST})
```