revert cm refactoring
revert cm refactoring

 Reverts commit fe60da72c8d6525954f965144ea4dc49b6cf40a4.

 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.

mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket,mafagafogigante/racket