Handling cout << things for int, char, bool, float, and string types

Assumes all left shit operations are to cout. Uses printing pseudo
ops. Implicitly calls c_str() on std::string to get C string.

Adding hello_world.cpp to smoke tests.