3.0 paginator revisit

This add the ability to pass an already created query instance to `paginate()`

```php
function index() {
  $query = $this->Articles->find('popular')->matching('Tags', function($q) {
    return $q->where(['Tags.name' => 'CakePHP'])
  });
  $this->set('articles', $this->paginate($query));
}
```