Add field to MetadataModule for datatypes
Fix naming bug for List type
Manual dead code elimination ;)
Add terse way to do type application
Refactor type environment

Migrate some functions to Environment.hs, add built-in types like _List
and _Tuple2.
Marginally better errors when a variable is undefined.