Fix test ikpointwise

1. `NonlinearProgram` now uses user gradient when calling `fmincon`. Apparently it was using finite difference before.:worried:
2. All `RigidBodyConstraint` objects can only construct its mex pointer when `RigidBodyManipulator` has a mex pointer, and `constructPtrRigidBodyConstraintmex` exists.
3. Add `snopt` check in `testIK` when testing ik pointwise. We have not implemented InverseKinematicsPointwise derived from `NonlinearProgram`, so pointwise IK should be skipped when `snopt` is not found