write empty error file instead of deleting

previous very strange and unrelaible behavior
fixed parameters of functions returning functions

example: int (*foo(int x))(int*)

previously the type of such function was correctly determined, but the paramters were derived from the wrong declarator (the outermost instead of the innermost)
Merge branch 'master' of github.com:ckaestne/TypeChef
default type when missing type declaration is int

instead of returning an error on "static a;", a is implicitly declared as int. we may want to add a warning there later.

fixes joerg's test cases