adds additional methods / classes solely to improve the readability of the code.
addressed Michael's comments on pull request
Added addConstraint method to NLPWCO.
Merge branch 'trajopt' of https://github.com/RussTedrake/drake into RussTedrake-trajopt

Conflicts:
	solvers/trajectoryOptimization/DirectTrajectoryOptimization.m
Restructured constraint class hierarchy
Removed FE/BE/Midpoint classes (all subsumed by Dirtran)
Restructured constraint class hierarchy
Added documentation.
Renamed T_span to duration, per Russ' feedback.
Fixed QuadraticConstraint and added second derivative.
Added getStateLimits (per Hongkai's suggestion). Changed addFinalCost to take a function f(T,x) instead of f(h(1:end),x)
InverseKinTraj inheirits from NPWConstraintObjects

Kinsol caching and other things that were previously in
NonlinearProgramWithKinsol have been moved over. testIKtraj passes.
InverseKin now inheirits from NPWConstraintObjects

There's a fair amount of code duplication between InverseKin and
InverseKinTraj now, but this does get testIK working again.
Update RBConstraints for new constraint hierarchy