Add Slices Data object and DB Contract

Add in a Data object used to represent one row
in a new SQLite database used for building Slices.

The database has the following schema:
- Key
- Title
- Subtitle
- Screentitle
- Icon
- Fragment
- Controller

The key is the preference key.
Title, subtitle and Icon are for UI info.
Screentitle and fragment are for the intent.
Controller is used to get dynamic ui info (like summary),
and to take actions on the slice (like a toggle).

The actual indexing and a Slice will be handled in a subsquent CL,
but a prototype can be found here: ag/3324435

Test: robotests
Bug: 67996923
Change-Id: Id91deb58a3ab89ce1dab5a3f34cdb9ade6263aa8
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6ccb8d1..0418d51 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3312,13 +3312,13 @@
             </intent-filter>
         </activity>
 
-        <provider android:name=".SettingsSliceProvider"
+        <provider android:name=".slices.SettingsSliceProvider"
                   android:authorities="com.android.settings.slices"
                   android:exported="true">
         </provider>
 
         <receiver
-            android:name=".SliceBroadcastReceiver" >
+            android:name=".slices.SliceBroadcastReceiver" >
             <intent-filter>
                 <action android:name="com.android.settings.slice.action.WIFI_CHANGED"/>
             </intent-filter>