Parse qualified record punning. Fixes #20.

Had to change the AST type from a `Name` to a `QName` to represent the qualified name. The remaining changes are just knock-on effects from that.