Support Multiple Sort Rules

This is a backwards-compatible change that lets the client sorter apply multiple sorting rules sequentially. 

In a nutshell:
- `setSort` takes an array of sorting rules, but falls back to the original `setSort( column, direction )` for compatibility's sake.
- The subsequent rules are applied to rows that don't have the desired column defined
- The first sorting configuration is set as the current sortColumn and sortDirection (since it seems reasonable that any UI properties looking for the current sort should use that)

Sorting by `create_date` and then by `display_name`:
```coffeescript
clientCollection.setSort([
    {column: 'create_date', direction: 'desc'}
    {column: 'display_name', direction: 'asc'}
])
```
Just sorting by `create_date`:
```coffeescript
clientCollection.setSort('create_date', 'desc')
# or
clientCollection.setSort( [{column: 'create_date', direction: 'desc'}] )
```

Feel free to dig through and ping back with any questions / suggestions, and take a look at the tests for the expected behavior.