Facebook Sync Dirty Hack (Credit RomanB)

Conflicts:
	src/com/android/providers/contacts/ContactsDatabaseHelper.java

Change-Id: I24ed439afc550474dcd12b936c350863c983aa3d
ContactsProvider : Add new projection columns for contact

http://review.cyanogenmod.org/#/c/29191/2 introduced new columns
to be used for projection, however SQLiteQueryBuilder's projectionmap
was not updated. This is required to avoid this error :

E/DatabaseUtils(12835): Writing exception to parcel
E/DatabaseUtils(12835): java.lang.IllegalArgumentException: Invalid column display_name
E/DatabaseUtils(12835): 	at android.database.sqlite.SQLiteQueryBuilder.computeProjection(SQLiteQueryBuilder.java:632)
E/DatabaseUtils(12835): 	at android.database.sqlite.SQLiteQueryBuilder.buildQuery(SQLiteQueryBuilder.java:447)
E/DatabaseUtils(12835): 	at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:393)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6016)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:5992)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4780)
E/DatabaseUtils(12835): 	at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils(12835): 	at android.content.ContentResolver.query(ContentResolver.java:372)
E/DatabaseUtils(12835): 	at android.content.ContentResolver.query(ContentResolver.java:315)
E/DatabaseUtils(12835): 	at com.android.vcard.VCardComposer.initInterCursorCreationPart(VCardComposer.java:440)
E/DatabaseUtils(12835): 	at com.android.vcard.VCardComposer.init(VCardComposer.java:399)
E/DatabaseUtils(12835): 	at com.android.vcard.VCardComposer.init(VCardComposer.java:346)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.outputRawContactsAsVCard(ContactsProvider2.java:7572)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.openAssetFileLocal(ContactsProvider2.java:7329)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.openAssetFile(ContactsProvider2.java:7128)
E/DatabaseUtils(12835): 	at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:937)
E/DatabaseUtils(12835): 	at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:268)
E/DatabaseUtils(12835): 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
E/DatabaseUtils(12835): 	at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils(12835): 	at dalvik.system.NativeStart.run(Native Method)

Change-Id: I8ad094296a8a20b7c483b815510314dcbeb2e9ca
contacts: Privacy Guard support

 * If privacy guard is enabled for the calling process, return an empty
   MemoryCursor (with column names populated) instead of the real dataset.

Change-Id: I78b16f3791706636d51785e46a1f2ec656a3c9d2