updated modules-tests
Refactor runtime.rkt to have types for functions, and not use Any

Uses of p-opaque have now been factored out into untyped-runtime.rkt

p-opaque is imported with the #:opaque flag, so it can be included in exported
types.

All function types on Pyret methods and functions now use Proc, which is
variable-arity Value * -> Value.  The builtins in runtime.rkt and function
creation in compile.rkt have been changed to reflect this by installing an
additional wrapper around lambdas, or rewriting functions to take lists of
Values rather than a particular number.  There are some arity-mismatch errors
that used to happen that *no longer happen*: e.g. passing too many arguments
to a builtin used to signal an arity mismatch error; this is no longer the
case.  Pyret functions still get arity mismatch errors, since they use untyped
apply, however.
arity