use Ransack to sort collections

This is a continuation of where @vjt left off in #1994

Added functionality:
* you can sort by multiple columns

Problems:
* sorting on a virtual column doesn't work
* when sorting on multiple columns, how do you tell which column (on an
index table) is currently being sorted?