User-defined type variables are now in scope within {| |} brackets
User-defined type variables are now in scope within {| |} brackets

Partially fixes #37. However, there are still problems:

- Types defined in the Cryptol prelude are still not in scope,
  e.g. "print {| Bit |}" fails.

- Local type variables escape their scope as named type synonyms:

    sawscript> let bar (n:Int) = {| [n] |}
    sawscript> bar 8
    [n]

  (The Type AST contains the type synonym definitions so that they
  can be unfolded, but this is still kind of confusing.)

GaloisInc/saw-script,GaloisInc/saw-script,GaloisInc/saw-script,GaloisInc/saw-script,GaloisInc/saw-script