Reverts commit fe60da72c8.
Something about the recfatoring was broken. For example, modify
"racket/contract.rkt" and then run `raco setup -D -j 1 racket'.
Another `raco setup -D -j 1 racket' re-builds a file in
"mred", but a second run shouldn't have built anything. (Using
`-j 1' demonstrates that it's not related to parallel builds.)
Reverting the refactoring fixes the problem.
I don't know what the bug was, but Kevin says that the refactoring
wasn't needed after all.
--- a reversal of opinion from my earlier commit; the problem
with syntactic simplification is that it may not refer to the
same file, due to soft links; given that true normalization is
impossible, simplify-path and simple-form-path provide a good
compromise between preserving paths as given and exanding
soft links as neede