Remove SortDirection

No longer used after Expression<T>.{asc,desc} was implemented.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Add enhanced setter functions

Firstly, we now support set(Expression<T>, Expression<T>), for mutations
that involve database state. With this, we also create a bunch of
operator-equals overrides. Now this is possible:

    let amount = 100.0
    db.transaction(
        checking.update(balance -= amount),
        savings.update(balance += amount)
    )
    // BEGIN DEFERRED TRANSACTION
    // UPDATE accounts SET balance = balance - 100.0 WHERE ...
    // UPDATE accounts SET balance = balance + 100.0 WHERE ...
    // COMMIT TRANSACTION

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Let's not use `where` where we can avoid it

Signed-off-by: Stephen Celis <stephen@stephencelis.com>