Addition of structs

One test on ./driver.py fails, pointing to the main current issue with struct typing (see TODOs in resolvetyping)
Unless it would break something, you should visit the children anyway since that's the contract visitor implementations are supposed to meet.