[SCHEMA] Remove duplicate Gmail message data and tighten constraints.

Some bugs caused Message objects to occasionally be duplicated for Gmail
accounts. I'm not 100% sure we've eradicated them all, but tightening
the constraints on the table will make it easier to make sure.

Note that MySQL does not apply unique constraints against rows on which
some of the columns to constraint are NULL, so this does not affect
non-Gmail accounts (which do not have a g_msgid).