Fixing Way points, adding interfaces

Added a series of interfaces so that consumer can create their own
implementations and have more guidance. Also moved Waypoints to make
sense rather than be miles. Need to Implement changes in EmitPosition(to
be Vehicle) and now all tests fail!