Make initArray and setLength return a struct array * and assign the result to
a variable. Also Push the calloc-hack in the PrettyPrinter into the internals
of initArray.

There's an obvious benefit of not having the calloc-hack in the PrettyPrinter,
but apparently as a side effect we also help the C compiler to generate
good code. As an added benefit this change furhter prepares for the
single dereference array element access.
Use typeof instead of the vType function.
Remove the unused function copyProgLen.
Use arrayLength in Frontend instead of manually constructing a function call.
Use binop instead of fun'.
Properly dereference multilevel pointers in the prettyprinter.

ArrayElems are currently an exception, but that will be fixed.