Bug 1095914 - Copy over CellScanner from mozstumbler github. r=nalexander, a=lsblakk

This has a few important changes:
1) Null-check the TelephonyManager availability.
2) The cell scanning code was split to remove wcdma scanning on Fennec due to an older API level on Fennec. This is no longer the case. CellScannerNoWCDMA.java renamed to CellScannerImplementation.java.
3) Remove broadcastsync on the timer thread, have the timer thread message back to the owning class through a handler (guaranteed thread-safe mechanism to notify the owning class that work is done).
Bug 1095914 - Fix NPE in WifiScanner. r=vng, a=lsblakk

https://github.com/mozilla/MozStumbler/pull/1192
1169: ACRA Report: NPE WifiScanner.java:98
Bug 1095914 - Fix NPE due to no telephony manager. r=vng, a=lsblakk

https://github.com/mozilla/MozStumbler/pull/1194
1185 NPE Reporter.startup (no telephony manager)
Bug 1095914 - Fix NPE from no app context. r=vng, a=lsblakk

https://github.com/mozilla/MozStumbler/pull/1195
1187 - NPE - Appears to be from no app context
Bug 1095914 - Fix crash if GPS not available. r=vng, a=lsblakk

https://github.com/mozilla/MozStumbler/pull/1206
Bug 1078539 - Enable dev edition promo to be shown when update channel is beta. r=jryans, a=lsblakk
Bug 1085386 - Finish preference activity when hitting action bar "up" button. r=liuche, a=lsblakk
Bug 1097542 - Use explicit collation in nsSearchService. r=Waldo, r=adw, a=lsblakk

On Android, String.prototype.localeCompare ends up calling strcoll(), which results in an undesirable sort order for search engines.

This patch alters nsSearchService to use nsICollation.compareString directly, which should yield a consistent order across all platforms.

We use kCollationCaseInsensitiveAscii, which ignores case on ASCII characters but preserves ordering between accented and non-accented characters. We can revisit this decision if necessary.