Add SelectManager#distinct_on to set/unset Arel::Nodes::DistinctOn quantifier

This makes it easier to use DISTINCT ON:

```ruby
table = Arel::Table.new(:users)
table.project(Arel.star).distinct_on(table[:id]).to_sql
# => "SELECT DISTINCT ON ( \"users\".\"id\" ) * FROM \"users\""
```

Resolves #302