Reorder results to override orders applied up the chain (eg - scopes)

If we have:
```ruby
class Person
   default_scope order('id ASC')
end

search = Search.new(Person)
search.sorts = 'id DESC'
```
Then the sort will not get applied.  We may need to preserve other scopes though, so I've used `reorder` to force replacing any existing order with our sort.

I added a new spec and `default_scope` to `Person`, and all existing specs pass.