Move scheduled alarm scrub off main thread

We currently do a database update when the "boot completed" intent
is received.  Doing it on the main thread appears to be causing ANRs,
so this moves it to a background thread.  An "empty" service is
used to discourage the system from killing the provider while this
is in progress.

Also, removed an unused field from CalendarAlarmManager.

Bug 5262151

Change-Id: I8e5b1bd7782500e1827f43d7a453f824a1e7944c
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1621f8e..3d424e4 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -50,6 +50,9 @@
         <!-- This is used to keep the provider alive long enough to send update
              intent broadcasts. -->
         <service android:name=".EmptyService" />
+        <!-- This is used to keep the provider alive long enough to clean up scheduled
+             alarms after boot. -->
+        <service android:name=".CalendarReceiver$RemoveScheduledAlarmsEmptyService" />
 
         <activity android:name="CalendarContentProviderTests" android:label="Calendar Content Provider"
                 android:exported="false">