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`.
It's to retain constness of the generated string fields.

I wondered why the original code attributed const to string fields as well as
to message fields.

And it seemed to me it was to prevent the other part of the generated code
from calling non-const methods of those supposed-to-be-immune default instances'
fields by mistake.