Fix broken signature generation for array types

The code wasn't taking into account whether it was dealing with an array type,
which resulted in invalid method signatures being generated.

E.g.,

(IL[Lcom/facebook/presto/spi/block/Block;;)I

instead of

(I[Lcom/facebook/presto/spi/block/Block;)I