Support adding new IMAP folders without restarting.

Summary:
We didn't support adding new IMAP folders without restarting the IMAP monitor
and thus the IMAP folder sync engines handling an IMAP account since
prepare_sync, which was the function doing the "dirty work", was called only
once in sync.  We now support it by calling sync() on a regular basis within
the IMAP monitor.

In addition, this revision refactor the Gmail monitor. Conversely to a classic
IMAP account, Gmail accounts don't require to pick up new IMAP folders since
Gmail doesn't really support them. Thus, it overrides sync calling prepare_sync
over and over.
Moreover, this revision also removes code duplications between IMAP and Gmail
monitor. This requires adding the should_block property to the IMAP folder sync
engine, which is then overloaded by the Gmail folder sync engine (which has its
own policy). The former always returns True to make sure we only have one IMAP
folder sync engine in the 'initial' state per IMAP monitor.

Fix https://review.inboxapp.com/T586.

Test Plan:
Sync an IMAP account (e.g., Fastmail), add a new IMAP folder from the webapp
make sure Inbox picks it up.

Reviewers: khamidou, emfree

Reviewed By: emfree

Subscribers: spang

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