Pool crispin clients, not IMAPClients.

Summary:
It turns out that my original abstraction here was not the right one.
Crispin's state caching essentially ties it to a single IMAP connection,
so the right thing to do is pool wrapped connections, not this mess with
passing raw IMAPClients into every single method call.

This connection pooling strategy is *definitely* not smart enough in the
long run when we have connections for many accounts open to the same
server, but it's way better than what we have now.

As a part of this refactor, we delete inbox.server.pool and move the
code in it to places that make more sense. This module was a remnant of
the days when we only supported Gmail sync.

This refactor really helps make the IMAP sync code more readable.

Test Plan: ./runtests -a

Reviewers: kav-ya

Reviewed By: kav-ya

Differential Revision: https://review.inboxapp.com/D126