A new way to get from eval' to eval

Basically a simple type system based on a syntactic check that all of
the constructor applications are to existing constructors with the right
number of arguments.  Also, pattern matches are very restricted and must
not contain any nested patterns, and each constructor pattern must have
a constructor from the same type as the other constructors in the match.

Proved for evaluate' and evaluate_dec', but not for evaluate_decs' or
evaluate_top'.
Merge branch 'master' of github.com:xrchz/vml