Add :descending option to Orderable.

Current spec status: 361 examples, 0 failures in 1.15 seconds.
Refactor sort criteria into metadata.

Current spec status: 372 examples, 0 failures in 1.24 seconds.