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.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Tests for correctly retrieving block arguments.

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