Make test code runnable with C++11

Preprocessor token right after string literal without whitespace results
in parse failure in C++11.
Display element name in test error log
Make C++ string oneof field compatible with C++11

string oneof field was generated into "const ArenaStringPtr" field inside
"default_oneof_instance_" struct (of name "<class name>OneofInstance").

On the other hand, in C++11, const field of type with trivial default
constructor causes enclosing type's implicit default constructor to be deleted.

Since ArenaStringPtr has tirvial default constructor, this caused default
constructor of "default_oneof_instance_" struct to be deleted, making the
constructor call inside generated code invalid and fail to compile.
Source code refactoring. Extracted common functionality in cpp_helpers.cc and python/python_generator.cc
Fixed bugs
Update version number to v3.0.0-pre
Reverted changes to cpp_helpers.cc and made code reviews to python_geenerator.cc
Update gtest version to v1.7.0.
Describe how to get gtest source for Visual Studio users.
Merge pull request #113 from nsuke/oneof-c++11

Make C++ code generation of string oneof field compatible with C++11
Returned print_indent and print_outdent back to printservicestub and printserviceclass in python generator
Reverting the space at the end
Reverting the space at the end for both files changed
Merge pull request #128 from krishnanm86/master

Source code refactoring. Extracted common functionality in cpp_helpers.c...
Rename protobuf Ruby module to google/protobuf and rework its build
system. The Ruby module build now uses an amalgamated distribution of
upb, and successfully builds a Ruby gem called 'google-protobuf' with
module 'google/protobuf'.
Merge pull request #134 from cfallin/master

Update Ruby build setup to produce gems successfully. Include upb as a single .c / .h file.
Add .travis.yml