Rewrote readme to reflect reality
Use non-polymorphic variants for ASTs

They were only being used so that AST node type names / constructors could be
reused, but that was confusing anyways. Polymorphic variants lead to disgusting
type errors and slower runtime.
Fixed small warning in parser simulator

do_fail is still never called, TODO
Fixed some issues with ast0node type

Now correctly does not attempt to distinguish type and class exports (bc parser
doesn't either). Also stores more information about import decls for later
checking.
Starting to implement semantic actions

This is going to take a while.
Fixed fix to import decls in ast0node
Fixed change to parser's augmented grammar

Now matches change made to (unaugmented) grammar in parser generator main.
Merge branch 'parse-actions' into parse

Conflicts:
	src/types.ml

Merged changes to grammar with changes to ast0 for parser semantic action
implementation. ast0 structure now matches new (streamlined) grammar.
More fixes to ast0 to match grammar

Cannot tell patterns and expressions apart.
Refactored semantic actions a bit
Added some more semantic actions
Fixed makefile to generate parser correctly

Autogenerated parser file no longer included in git repo
Fixed small grammar bug

import type imports ConId, not VarId
Eliminated extra ast0 variant
Wrote some frequently used semantic actions

Now can be called repeatedly - way less typing!
Fixed up comment line breaks
Working on more semantic actions

Reusing the boilerplate actions now
More fixes to ast0

No need to store gendecls and decls as separate sorts of nodes. Every gendecl
is (exactly) one decl.
More small ast0 fixes
More semantic actions

GOD WHY ARE GRAMMARS SO BIG