Trip priority implemented, trip.isvalid() flag

Priority currently just based on soonest arrival time
isvalid checks >0 arrival time, basically just if it's passed already.

Maybe mem leak in trippopulator still, because that's a POS
Also, concurrent mod, other exceptions.