Partial implementation for the favorite and available printer tracking.

1. Added a dedicated class that keeps track of the user's favorite printers
   based on past usage. We keep the last 50 uses and assign a decreasing weight
   to older historical use records. The printer whose records' sum is the
   largest is considered the favorite for the user and so on.

2. Factored out the printer discovery logic from the print job config activity
   into a separate available printers provider class. It encapsulates all the
   logic to communicated with the remote print services to discover printers,
   keep track of added, updated, and removed printers.

3. Preliminary scetch of the printer chooser acitivty that will show all the
   printers.

Change-Id: I5524665f2a9a565f186db85214d5e41a44f4812e
diff --git a/packages/PrintSpooler/AndroidManifest.xml b/packages/PrintSpooler/AndroidManifest.xml
index 74fd7a8..c00639d 100644
--- a/packages/PrintSpooler/AndroidManifest.xml
+++ b/packages/PrintSpooler/AndroidManifest.xml
@@ -50,6 +50,12 @@
             android:theme="@style/PrintJobConfigActivityTheme">
         </activity>
 
+        <activity
+            android:name=".ChoosePrinterActivity"
+            android:exported="false"
+            android:theme="@android:style/Theme.Holo.Light">
+        </activity>
+
         <receiver
             android:name=".NotificationController$NotificationBroadcastReceiver"
             android:exported="false" >