This is used to construct over clause for window functions.
SQL spec has definition for window functions, and different RDBMS implemented it to different degrees. Here's `PostgreSQL`'s [related](http://www.postgresql.org/docs/9.3/static/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS).

The current syntax is not nice enough. Then how about this?
```scala
salary.avg over partitionBy(dept).sortBy(dept,salary)
                   .rowsFrame(r => (r.UnboundPreceding, r.CurrentRow))
```

(p.s. `sortBy` already reused `.asc` and `.desc`. As you see, it accepts parameter `ordered: Ordered`.)