Support passing in 'sort' as both a class property and as an option.

This fixes #2076. I feel like the tests I've written for this could be a little better. I'm open to suggestions!
nm