Addition of structs

One test on ./driver.py fails, pointing to the main current issue with struct typing (see TODOs in resolvetyping)
Also, try to be consistent about putting the space between if and (, while and (, else and {, etc.