NFC: Host-based card emulation APIs.

- New INfcCardEmulation interface to allow apps to interface
  with card emulation system.
- New BIND_NFC_SERVICE permission to prevent malicious apps
  from binding to card emulation services.
- ApduServiceInfo is now in the framework.
- Added constants to Settings.Secure for storing defaults.
- Modified XML grammar a bit.

Change-Id: I56b3fa6b42eb5dc132c91c1386ab1e6bac779059
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 378bce6..74d383f 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -1864,6 +1864,14 @@
         android:description="@string/permdesc_bindPrintService"
         android:protectionLevel="signature" />
 
+    <!-- Must be required by an {@link android.nfc.cardemulation.HostApduService}
+         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
+         the system can bind to it. -->
+    <permission android:name="android.permission.BIND_NFC_SERVICE"
+        android:label="@string/permlab_bindNfcService"
+        android:description="@string/permdesc_bindNfcService"
+        android:protectionLevel="signature" />
+
     <!-- Allows an application to call APIs that give it access to all print jobs
          on the device. Usually an app can access only the print jobts it created.
          This permission is not available to third party applications.