Make defn.rkt tests work on Racket 6.0 and earlier.

Apparently `raco test` in Racket > 6.0 does the equivalent of
`(current-namespace (module->namespace <module-being-tested>))`.

Our `find-definition` relies on the ability to convert a string or
symbol to fully-enriched identifier syntax using
`namespace-symbol->identifier`. (Remember that the usage of this is an
Emacs mode where we are getting text, not Racket syntax.)
Also test on Racket 5.3.5 and 5.3.6.
Sort `only-in` forms by their module.

I noticed this while looking at disambiguating `mod<?` as part of
testing against older versions of Racket.
Extend idea of commit f6435b0.

Recursively handle all require sub-forms that refer to one module, and
use that in `mod<?`.