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.
In that case I think giving the block greater control would be neater:

```ruby
@items.instance_eval(self)
```

```
config.scopes << proc { @items = @items.limit params[:limit] if params[:limit] }
```

This would also allow the block to set arbitrary instance variables e.g. to store the limit in `@limit` for use in a template.