Switched the interface to the cost function for PlansCalcRoute to PersonalizableTravelCost so that it can be passed a Person (and can be income-dependent, for example). For cost functions which don't depend on the Person, just implement an empty method.