Refactor Orderable to accept arbitrary sort commands.

Current spec status: 373 examples, 0 failures in 1.21 seconds.