[auth] Pluggable auth handlers with pluggable mixin classes

Summary:
This will allow plugins to hook into the auth process, e.g. to redirect IMAP
connections to a proxy, or to modify the login information.

Test Plan:
- Unit tests
- Manual testing

Reviewers: charles

Subscribers: kav-ya, emfree

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