Switch edit UI to tabs, TYPE_ASSERT for version, cleanup.

Integrated with the tabs and header widget built by
emillar, kept separate from BaseContactCardActivity since
I'm handling EDIT/INSERT intents differently.  Added hooks
to pick primary photo/name from header.

Cleaned up the colorful testing UI, added padding to match
mocks, and initial pass at collapsed secondary area.  Added
back menu items and confirmation toast.

Changed to new TYPE_ASSERT ContentProviderOperation for
asserting RawContacts.VERSION number during updates.
diff --git a/src/com/android/contacts/ScrollingTabWidget.java b/src/com/android/contacts/ScrollingTabWidget.java
index 9f4aee8..982d661 100644
--- a/src/com/android/contacts/ScrollingTabWidget.java
+++ b/src/com/android/contacts/ScrollingTabWidget.java
@@ -273,7 +273,7 @@
      * Provides a way for ViewContactActivity and EditContactActivity to be notified that the
      * user clicked on a tab indicator.
      */
-    void setTabSelectionListener(OnTabSelectionChangedListener listener) {
+    public void setTabSelectionListener(OnTabSelectionChangedListener listener) {
         mSelectionChangedListener = listener;
     }
 
@@ -345,7 +345,7 @@
         }
     }
 
-    static interface OnTabSelectionChangedListener {
+    public interface OnTabSelectionChangedListener {
         /**
          * Informs the tab widget host which tab was selected. It also indicates
          * if the tab was clicked/pressed or just focused into.