Added dataStores for contact, phone and photo

I don't see why getName() here doesn't return name(). Do we handle things differently in SmsDataStore?

If you really dislike the idea of using _ID as the Column Name. Introduce something like a sqlColumnName that defaults to the name but can be overridden by the Datastore if needed. Doing it like this for each column is excessive.