Switch modules to use Racket's module system

- compile.rkt now turns import statements into (require), and provide into
  (provide)
- built-in pyret libraries are included via desugar.rkt knowing the absolute
  path to the appropriate files
- user-written pyret imports work via the usual relative-path mechanism of
  require
- A new language, pyret/library, can be used for built-in pyret libraries, and
  avoids cyclic linking issues.
- parser.rkt now exports a #%top-interaction and #%datum, which are necessary
  during module expansion