Fixed decl initialisation code-gen
Fixed various struct tests
Fixed old-function memory problem

Decls are now added to symtables so freeing the decl itself would cause
a memory problem. We now replace and free the temporary name decl
instead.

f(a, b) // decls here are replaced with the types, etc from below
	struct A *a, *b;
Old function tests
Rearranged and added enum tests