Improve C++ code.

In using SBE to generate C++98 code I discovered several issues with the generated code.  Most of these caused build failures or unnecessary warnings from either VC 12 or gcc 4.7 (note: I'm using debian and gcc 4.7 is the current stable release of gcc on that platform)   

The one issue that did not trigger a build error or warning was throwing c-style strings.  This is a departure from the almost universal practice in c++ of throwing objects derived from std::exception.  It will cause problems for developers who expect to be able to catch all exceptions by catching std::exception (Note in Java terms this is equivalent to throwing something that is not derived from Throwable (although Java won't let you get away with that, C++ is permissive to a fault.))

My intent is that each of the commits in this pull request is independent of the others.   I'm new to gethub and it was  unclear to me whether there should be a pull request for each issue or whether it was OK to lump them together like this (let me know if this approach causes problems)  However, in this case all of the changes are closely related -- code clean ups that should cause no change in functionality or performance.