Determines whether this instance is valid or not. If returns false, also fills in an error message.
Implements IKSolver.