constraint eval uses geval, so others don't have to.

per the discussion at the triage meeting, we can count on the constraint eval function to use geval if and only when necessary, so we should be absolutely call positionConstriants, velocityConstraints, and stateConstraints on a manipulator without geval.

note: changed the default grad_method to 'user_then_taylorvar', which means that constraints must declare that they have gradient information to avoid hitting geval.  there might be some in the current examples that do not do this.
In line 119 of Constraint.m, it checks if the grad_method is user, and calls the `constraintEval` function directly if `grad_method=user`. I feel we should check if `grad_level == 1` in line 119 instead, if we want to avoid calling `geval` in Constraint.