Created MapArc class and made waypointcurve a child class.

This refactors the WaypointCurve class into a parent class, MapArc, and a child class, WaypointCurve. No new functionality.

This also introduces the idea of major and minor arcs, although currently this variable is unused.

This should make @peabody124 happy, there are more lots more deletions than lines added.