Handle block arguments as locals in a new scope

Right now, Brakeman ignores block arguments, but in cases where it should shadow variables outside the block this can cause problems:

```ruby
y = whatever

z.each do |y|
  if x
    y = something_else
  end
end

y
```

becomes

```ruby
y = whatever

z.each do |y|
  if x
    y = something_else
  end
end

(whatever or something_else)
```

when the value of `y` outside the block should not change.

This should be fixed now.