Make C++ code generation of string oneof field compatible with C++11

This PR doesn't introduce any C++11 specific feature, but only fixes the behavior with C++11 so that it works fine in the same way as with C++03.

You can reproduce the "problem" by `make check` configured with `CXXFLAGS=-std=c++11`.
Applying first commit will reveal the `oneof` part.

Tested with clang 3.5.0 and gcc 4.9.2 with and without `-std=c++11`.
Adding "const" here forces the initialization code of this struct to do "const_cast" everywhere. Doesn't seem to be a win to me. Can you remove this "const" and also these "const_cast"s?