added CPLUSPLUS_FUNCTION and CPLUSPLUS_PROGRAM problem types

The immediate motivation is to allow testing of function
problems where the function takes a pointer to a struct
instance.  It is not legal to take the address of a literal
struct in C++, but it is in C.

Bumped the schema version number of ProblemData, Problem,
and RepoProblem since the new problem types won't work on
older installations of CloudCoder.