wifi: Allow Settings to retrieve country code

This makes getCountryCode behave like getFrequencyBand

This allows Settings to get/set country code like
it can for frequency band.

Change-Id: Id9f00d3a678642c6c142fd1511af820d729507a7
wifi: Set the mode at native layer

 * Set normal/AP mode so that the HAL can specify correct module
   arguments when loading the driver.

Change-Id: I6eee2cc53b5f1e70306e252e52c909833f220515
Patch Set 1/2: Add an "Automatically Connect" option for WiFi networks

Allows the ability for a user to determine whether to connect to an SSID automatically.
e.g. At work, there are several SSIDs with long, complex keys.
    I don't want to connect to them all of the time, but would like them to be remebered.
The default behaviour is to allow automatic connection, as it is today.

Change-Id: If6fb33d5aff91688aec73317a9e43c9e210f90fc
Wi-Fi: Ping the driver for wifi-only devices

Wifi-only devices are not capable to find APs with hidden SSID unless a DRIVER COUNTRY command
will send to wifi driver. This change has:

- Send DRIVER COUNTRY command to ping the driver (to correct the seek of hiddens SSIDs)
- Save mCountryCode as uppercase because the wifi_countrycode_values array is in uppercase.
  Otherwise the preference will not be found.

Patchset 7: Rebase
            Do not set mCountryCode if country is null

Change-Id: Ie0f838aef07eaf683b713f7f0e46ff3c751523ab
Wi-Fi: Pass default country code to driver

This patch reverts partially the change http://review.cyanogenmod.org/#/c/28918/8, and
passing the default country code ("GB") to the driver instead of null.

Change-Id: I7d7115155a0a52261931ffaddaf35f316d095800
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>