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?


I can only see a use case for this and I'm not sure it is worth adding another layer of complexity.

Use case I see is:
  1. You declare a resource with lots of fields.
  1. You limit the fields to only show a bunch of them.
  1. Whenever you need any of the fields not being shown, you use the URL options to bring them.

Otherwise you can just remove the fields from `publicFieldsInfo`.

Not sure if this edge case is worth the trouble.