This fixes an issue with overlapping asynchronous routing requests

The OSRM data source now queues incoming requests if there is a request in
flight and discards queued requests so only the latest request will be
issued next.

The RoutingPanel now clears a previously drawn temporary route in the
callback handler of computeRoute when the requested route was the
permanent route because in flight routing requests can redraw the
temporary route.

There are several cleanups to console logging and removal of two cases
where MsgBox might be shown incorrectly.