Add type-safe SQL expression builder

A bit more declarative sugar for building queries, e.g.:

    // given
    let users = db["users"]
    let admin = Expression<Bool>("admin")
    let age = Expression<Int>("age")

    users.filter(admin && age >= 30).order(age.desc)
    // SELECT * FROM users WHERE (admin) AND (age >= 30) ORDER BY age DESC

    users.group(age, having: count(age) == 1)
    // SELECT * FROM users GROUP BY age HAVING count(age) = 1

Everything is an expression now, and depending on the type can interact
differently. This means we can now use bindings everywhere with little
effort.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Update playground with type-safe query builder

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Update README with basic, type-safe query-building example

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