Bug fix from James H: solve_game() was returning error messages in the return value rather than in *error. In the old days type- checking would have caught this, but now of course they're the same type. [originally from svn r6161]