wifi: Allow configuration of country code for wifi

Wifi country code handling is a nightmare - Most retail devices
have region customization in /system for each country a device
is shipped to.

This doesn't work very well for a firmware like Cyanogenmod,
where we try to support all target countries with one firmware
package.  For whatever reason, with newer Broadcom drivers/
firmware blobs, the old trick of using a universal region code
(ccode=ALL in nvram_net.txt) does not seem to work.  Who knows
what the deal is for other wifi chipsets.

The good thing is that wpa_supplicant has a standardized
cross-chipset method for setting the region code, and we
use that here.

Change-Id: Ia9f5133f61f56d89ccb290e37a393f5de507e1cf
Fix not updating error message when authentication fails

If attempt to configure the first network fails, AccessPoints fails to
update error message because it only checks the error code if it is not
active.

With this change, user may see saved network message for a second
because SupplicantStateTracker retries on authentication failure so
intermediate status is displayed between each trial.

Bug: 8284024
Change-Id: I8b976b03878e27e46726ee8a176f131115b7a409
Wifi: Allow configuration of Ad-Hoc (IBSS) networks

Show Ad-Hoc (IBSS) networks in the list of available Wi-Fi networks and
allow
to connect to or create new Ad-Hoc (IBSS) networks.

This requires the IBSS changes in frameworks/base and
external/wpa_supplicant_8

Change-Id: Ie44c47753100bbf8e691446e69b8d31659f64e3b
Wifi: Enable IBSS options only if IBSS is supported

Show IBSS network options only if IBSS mode is supported by the Wifi driver.

This makes use of the new API isIbssSupported() of WifiManager. We have to be
careful to make the query only after we reached WIFI_STATE_ENABLED.

WifiSettingsForSetupWizardXL is left out because it does not handle these
states.

Change-Id: I072c5cc6ed36305806b469cf05c4786d22bfd418
Wifi: Add frequency selection for new IBSS

Allow users to select a frequency for newly created Ad-Hoc (IBSS) networks, and
show the frequency for existing IBSS.

Change-Id: Icaa09c9386967fdf0a88865ff2e64cc9b219da1f
Switch to new Superuser

Change-Id: I9d91392ad6fbc9953d19059ab59b91d214c00e0c
Fix scrollbars appearing out of place in Superuser.

Change-Id: Ia206623716192e479901c02cf94de84a29e0479e
Fix exception on rotation.

Change-Id: I6cc653db3397074fb1cd9aa12b06511ce2cc3c9d
JIRA:CYAN-731
SECURITY FIX: Fix package uids being reused between uninstall and reinstall of different packages.
Policies for older packages were being granted to the newly installed package that got the recyled uid.

Change-Id: I6c74cf6762e8da10e09d5cf5d94e9f826e47f24d