Added methods to define default sort and limiter fields.

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?


The purpose of this empty() check is to add in the default field limiters if there are none supplied via the URL.  Are you saying that we should remove the empty() check, and have the default field limiters added all the time, even if some are supplied via the URL?  This would make it impossible to fully override the default field limiters... am I misinterpreting your 'remove' comment?