Bugfix for the "other than preferred routes penalty" computation

The way the set of preferred routes was checked for emptiness was incorrect. Fixing this exposed a bug in the way onboard departures are treated. It isn't clear to me what the purpose of the everBoarded field in StateData was before, but I've given it a more prominent role now.