add missing Size() method for typFunction type
Fix up some types to match the python code better

All varFoo types now embed a varDecl struct which contains the name and
the type.  This had a fairly large reaching effect because of the change
in struct initializer syntax.

Make function call name in exprs and stmts an expId instead of a varId.