changed concrete syntax for pattern matching from `match...with` to `case...of`
updated todo
break parser into four top-level fns

`parse` : Token.t list -> Pgm.t
`parseExpr` : Token.t list -> Expr.t
`parseDecl` : Token.t list -> Decl.t
`parseType` : Token.t list -> Type.t
more tests for parsing type expressions