added recursive transition feature to fsm
improved diversion support in RouteFollowingVehicle
added methods for getting destination from gotostate