Most of these changes are not my own. This is combination of commits from #144 and #151 which fix a variety of compiler warnings.
Several of the fixes are just suppressions, so followups can be done to improve code and fix problems more completely. More details can be found in #144.