Added methods to define default sort

My first ever pull request!

OK, so with this pull, we can define default sorts and field limiters with defaultSortInfo() and defaultFieldInfo().  If the client passes a query string in the URL, they are completely overridden.

One thing I tried to do was to add the processing methods to check for invalid stuff, and allow you to supply the defaults in the same way as you specify them in the URL; e.g. instead of DESC/ASC you can simply supply 'fieldname' or '-fieldname'.

Field filters (as opposed to field limiters) seem to be more complicated, so I've leaving them for now.

So... how does it look?


I think this should actually be populated with something like:

```php
      // Some endpoints like 'token_auth' don't have an id public field. In that
      // case, skip the default sorting.
      if (!empty($public_fields['id'])) {
        // Sort by default using the entity ID.
        $sorts['id'] = 'ASC';
      }
```

and for DB: ``return array($this->getIdColumn() => 'ASC')``

So we can avoid that logic in ``queryForListSort``