Mathematical Programming Approaches for Multi-vehicle Motion Planning: Linear, Nonlinear, and Mixed Integer Programming (Foundations and Trends(r) in Robotics)