[SCHEMA] IMAP table cleanups.

Summary:
This clears up some inconsistencies that have been bothering me for a
while, and should make the code easier to understand for new developers.

The following changes are included:
* tables: FolderSync => ImapFolderSyncStatus
  (other providers such as EAS are first-class citizens)
  - plus _sync_status => _metrics (to not be the status of the status)
* tables: UIDValidity => ImapFolderInfo
  (this table doesn't contain just UIDVALIDITY any more)
* UIDInvalid => UidInvalid to match ImapUid
  (it's awkward to use all caps names especially when both words are
  canonically uppercase)
* Remove duplication of folder_name and use a FK to Folder instead
  (facilitates some optimizations wrt not having to look up folder IDs too)
* Canonicalize 'account' as relationship for IMAP tables to accounts,
  since of course they're always referring to an ImapAccount, and this
  is consistent with EAS.
* Some other minor tweaks and doc updates

Test Plan: Ran mailsync, unit tests

Reviewers: kav-ya

Reviewed By: kav-ya

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