Allow setting mailbox sync levels

The sync level (unlimited sync, partial sync or no sync) overrides the
implicit sync level (partial sync if subscribed, otherwise no sync).

Ensure that mailboxes we want to sync are subscribed.  Cache "subscribe"
tasks created while offline, and do them when online.