Fix invocation of functions with void return types
Allow generated functions to return void
Add initial support for varargs
Complement function name and behavior

The function `func-arg-count-dont-match?` is now
`func-arg-count-valid?` (negative function names are
[confusing](http://programmers.stackexchange.com/a/196837/139304))
Enable array-pointer casting