first shot at a StructType ast node

It doesn't store fields yet. It does however act as DeclContext, so add
a test for that part.