Macro API for Ecto queries

Ecto provides an alternative API for building queries.

The keyword-based query

from Post,
  order_by: [desc: :inserted_at],
  preload: :user

produces the same result as the following pipe-based expression.

Post
|> order_by(desc: :inserted_at)
|> preload(:user)