Rewriting the way programs are run a bit. Fixes several issues, including:
* verifyproblem can now be run from inside the problem directory
* include files now handled correctly so that included code works in C++
* having two java solutions with a name clash between class names works