closing up a probably-rare race condition

if two users try to fetch arrivals within 100ms (or however long Marta
takes to respond), more than one request might go out to Marta's
service, with each request competing to set the reqCache.

this change creates a short-lived promise that catches the 2nd user, and
puts them in line behind the first user's request.

really hard to test this one. hope it just works.