Fix for retrieving UnboundMethod parameters.

Before this commit the code tasked with retrieving method parameters would
produce incorrect results. For example, take the following method definition:

    def example(number, &block)
      another_number = 20
    end

    method(:example).parameters

This would lead to the following output:

    [[:req, :number], [:block, :block], [:block, :another_number]]

This was caused due to everything that remains (after processing other argument
types) being assigned as block arguments.

This patch fixes this issue by keeping track of the index of the block argument
and comparing this to the list of local variables similar to how splat
arguments are handled.

One thing that's important to keep in mind is that I couldn't get the bytecode
caching process to work and as a result the information about block parameters
is currently lost after said bytecode is written to a file. This also means
that tests will only run once until you remove the cached files again.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>