Implementation of a basic system to allow sorting of list tables by clicking on the headings.

Messy and needs careful consideration of how it should interact with default search selections and sortable items. Also appears broken when sorting on a linked table because it sorts by ID rather than by the displayed name - maybe should just disallow sorting on these items?
Dealing with it when you try to sort on a BelongsTo field - we need to sort on name field of the related table rather than simply the ID...
Using the already loaded related model rather than always re-querying for it...
Automatically loading `with` all of the tables that have a BelongsTo relationship so we can display them in the list view without requiring further queries...