`ActiveRecord::QueryMethods#order` support for nested hashes

Quite often we have to order the query by attribute of the related table. We can
use a String to do this:

```
Post.order("comments.body ASC")
```

I really like the `#where` syntax when dealing with related
tables/associations.

This commit adds support to `#order` for nested hashes as arguments.
Using the new syntax the query above looks like this:

```
Post.order(comments: {body: :asc})
```
Can this be rewritten to `value.each_value`?