MessageCompose: update body on save.

- plus unit tests.
- and some attachment refactoring.
- move PROJECTION_ID up to EmailContent.
- add index on messageKey to Attachments and Body tables.
- add missing Columns.ID field in EmailContent.
diff --git a/src/com/android/exchange/adapter/FolderSyncParser.java b/src/com/android/exchange/adapter/FolderSyncParser.java
index 2b14e57..ac37303 100644
--- a/src/com/android/exchange/adapter/FolderSyncParser.java
+++ b/src/com/android/exchange/adapter/FolderSyncParser.java
@@ -18,6 +18,7 @@
 package com.android.exchange.adapter;
 
 import com.android.email.provider.EmailProvider;
+import com.android.email.provider.EmailContent;
 import com.android.email.provider.EmailContent.Account;
 import com.android.email.provider.EmailContent.AccountColumns;
 import com.android.email.provider.EmailContent.Mailbox;
@@ -146,7 +147,7 @@
     private Cursor getServerIdCursor(String serverId) {
         mBindArguments[0] = serverId;
         mBindArguments[1] = mAccountIdAsString;
-        return mContentResolver.query(Mailbox.CONTENT_URI, new String[] {MailboxColumns.ID},
+        return mContentResolver.query(Mailbox.CONTENT_URI, EmailContent.ID_PROJECTION,
                 WHERE_SERVER_ID_AND_ACCOUNT, mBindArguments, null);
     }