Addition of structs

One test on ./driver.py fails, pointing to the main current issue with struct typing (see TODOs in resolvetyping)
No, this is done by the ASTPrint class. Look at what happens when you call --print-ast. print() should only add metadata, like the name of the struct. See the other classes' print implementations.