Generated code testing utility

This adds a new subproject that compares two source files by their AST.  We will use it to make sure that the code generated by autofactory matches the code that we expect.