Implement choosing transit endpoint from map.

Also various usability enhancements for the routing controls.  Smooth
transitioning between editing and non-editing modes with a model that
persists and can be reverted to -- this will prevent accidental loss of
user entered data.