Reconcile dev route matcher misses with the filesystem
The development matchers are reloaded when a watcher has processed a
change, so they can lag behind the filesystem when a request arrives
right after a file was written, and the request 404s even though the
route's file exists. When no development matcher matches a request path,
re-scan the filesystem once and retry before treating the path as
unmatched. Matched requests stay on the same path as before.