Filtering inbox posts by discussion.
`post.get_descendants` returns a query for the descendants of a post.
Encoding UTF-8 before contacting mailbox.host.
Fixing ToC's relationship with Discussion.
Removing remnants of polymorphism from Discussion.
Discussion.posts() now returns a query.

I didn't realize that SQLAlchemy queries could be used in many of the same ways
a list can.
`get_posts` uses Discussion.posts().

It uses `Discussion.posts()` for the upper-level of posts, the ones that will
be sorted correctly, and post.descendants for each of one of the returned
posts.

The descendants are included in the response only to satisfy the existing
front-end threading algorithms. The problem is that the descendants will not be
sorted properly, and it may be hard to find new messages. At least by using
`Discussion.posts()` for the upper-level, the posts with new descendants will
at least be at the top of the list.
Fixing method discussion.import_from_sources().
Reducing default page size in get_posts().