Whoosh: allow multiple order_by() fields

The Whoosh backend previously prevented the use of more than one
order_by field. It now allows multiple fields as long as every field
uses the same sort direction.

Thanks to @qris, @overflow for the patch

Closes #627
Closes #919