[tesseract_common::satisfiesLimits](https://github.com/tesseract-robotics/tesseract/blob/403fd2f16334e108d9e2240e1c6020342669c022/tesseract_common/include/tesseract_common/kinematic_limits.h#L133), and [tesseract_planning::isWithinJointLimits](https://github.com/tesseract-robotics/tesseract_planning/blob/5837937f25251622c26c4af32cd77435d9af6a69/tesseract_command_language/include/tesseract_command_language/utils.h#L169), and another [tesseract_planning::isWithinJointLimits](https://github.com/tesseract-robotics/tesseract_planning/blob/5837937f25251622c26c4af32cd77435d9af6a69/tesseract_motion_planners/core/include/tesseract_motion_planners/planner_utils.h#L52) have duplicate functionality. Also, [tesseract_common::enforceLimits](https://github.com/tesseract-robotics/tesseract/blob/403fd2f16334e108d9e2240e1c6020342669c022/tesseract_common/include/tesseract_common/kinematic_limits.h#L161) and [tesseract_planning::clampToJointLimits](https://github.com/tesseract-robotics/tesseract_planning/blob/5837937f25251622c26c4af32cd77435d9af6a69/tesseract_command_language/include/tesseract_command_language/utils.h#L187) have duplicate functionality.