Adds to planning infrastructure for LeggedRobot classes

Adds `LeggedRobotPlanningProblem` which encodes a planning problem for an instance of any `LeggedRobot` class in a solver-agnostic way. It has methods to generate dynamic or quasi-static planners.