Handle block param for custom matcher with block_param method

PR for issue #321 
Rather than using `parameter[0]` and `parameter[1]`, which appear to be magic indexes, why not use destructring?

``` ruby
declarations.parameters.each do |name, type|
  next unless type == :block
  Kernel.warn("WARNING: #{name}...")
end
```