Use Drawer in Settings app

- get rid of PreferenceActivity as much as we can and use fragments instead
- add Drawer widget
- add Dashboard high level entry into the Drawer (but this is work in progress and would be done in another CL)
- add bypass of fragment's Header  validation when launched from the Drawer but *force* validation if external
call thru an Intent

Be aware that WifiPickerActivity should remain for now a PreferenceActivity. It is used by SetupWizard and should
not trigger running the SettingsActivity's header building code. SetupWizard is a Home during the provisionnig process
and then deactivate itself as a Home but would make the Home header to appear in the Drawer (because momentarily we
would have two Home).

Also, verified that:

- the WiFi settings still work when called from SetupWizard
- when you have multiple Launchers, the Home header will appear in the list of Headers in the Drawer

Change-Id: I407a5e0fdd843ad7615d3d511c416a44e3d97c90
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index eba2303..ec01534 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -79,8 +79,9 @@
         <!-- Settings -->
 
         <activity android:name="Settings"
-                android:label="@string/settings_label_launcher"
+                  android:uiOptions="splitActionBarWhenNarrow"
                 android:taskAffinity="com.android.settings"
+                android:label="@string/settings_label_launcher"
                 android:launchMode="singleTask">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -1535,10 +1536,13 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="com.android.settings.accounts.ChooseAccountActivity"
+        <activity android:name="com.android.settings.Settings$ChooseAccountActivity"
             android:label="@string/header_add_an_account"
             android:configChanges="orientation|keyboardHidden|screenSize"
-            android:theme="@android:style/Theme.Holo.DialogWhenLarge"/>
+            android:theme="@android:style/Theme.Holo.DialogWhenLarge">
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.accounts.ChooseAccountFragment" />
+        </activity>
 
         <activity android:name=".CryptKeeper"
                   android:immersive="true"