Enable the use of parameters in scopes

By passing in the controller it self to the scopes when we evaluate them, we can do stuff like checking controller parameters to check what we should filter with the scope.
Oh, I only just noticed we're executing the block twice:

```
if @items.instance_exec(self, &scope)
  @items = @items.instance_exec(self, &scope)
end
```

Is that to specifically support nil in these scenarios?