Support for record types + parser test

* Supports the trailing semicolon
* No type extension yet
* I am voluntarily breaking *TestUnfinishedConstructs01* because I'm not
sure of how the error should be represented.