Fix discoverability timeout issues. (a) implement timeout logic (b) persist 'never timeout' after reboot (c) code cleanup

Change-Id: Ia7a8611d7212b9201994034d17da1d18e106107b
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 795a2e8..0ac4d3e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1479,5 +1479,11 @@
             <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" />
         </receiver>
 
+        <receiver android:name=".bluetooth.BluetoothDiscoverableTimeoutReceiver">
+            <intent-filter>
+                <action android:name="android.bluetooth.intent.DISCOVERABLE_TIMEOUT" />
+            </intent-filter>
+        </receiver>
+
     </application>
 </manifest>