fixed a bug iterating over parameter variables

When iterating over parameter variables,
as an optimization it would replace the array with an empty one,
if the only parameter was a block variable.

This actually didn't work, and just messed up the structure of the
parameters.

It is not resolved.
fixed parameters bug indexing blocks as parameters

The parameter object was incorrectly counting a block
as one of the parameters for a function or method.

This meant parameters always had 1 more parameter,
if they had a block, and so messed up the function call names.
added print and finalize debug timing
fixed bug with grabbing the block parameter

When grabbing the block parameter,
the length of the array was not being adjusted after
an element had been removed.

As a result, any function which used a block, had a declaration error.