Fall 2014 Project: Awesome additions

This branch/pull request represents the work done to add new C++ question types to Project: Awesome
I wonder why CppRandomNames is repeated in so many places?  This seems like low hanging fruit for factoring out into a separate utility module.