Move the Tour object to Shepherd.Tour.  Improve the event API, fix bugs with advanceOn.