Buttons: Allow disabling hard navigation keys

This adds support for enabling the navbar on devices with
hardware keys.
This requires that the device supports the KeyDisabler
HAF methods, and is available in the Buttons menu

Change-Id: I01bd83b312745b4a8aa3bde0cf5f02ea99a888cc

Conflicts:

	res/values/cm_strings.xml
	res/xml/button_settings.xml
	src/com/android/settings/cyanogenmod/SystemUiSettings.java
Settings: use CMHW serial number for MSim

Change-Id: I2cb7f841699d79259711309fb6fd2de00bc8da75
Settings/Wifi: Add support for Ad-hoc (IBSS) networks

If the WLAN driver can support IBSS mode, show Ad-Hoc (IBSS) networks in the
list of available Wi-Fi networks and allow to connect to or create new Ad-Hoc
networks.

This is merged and ported from CM-10.2, where it was split up into 3 commits.

Change-Id: Ib58d05d05ce00a77d5b88ee57007d38798d7b43d
Fix resource IDs being added to the android namespace

Using @+android:id/some_id will create a new resource ID
with package ID 0x01 rather than 0x7f, for non framework
packages, if "some_id" does not already exist.

Change-Id: I86d57ae6ac88e7dae8420a92e4d55b6c935fd188

Conflicts:

	res/layout/preference_streamvolume.xml
Fix the APN editor fix

The APN creator puts its data in a Bundle, not an Intent. Get the
operator identification argument from the right place to avoid
attempts at creating networkless APNs

Change-Id: I42b6e00fffdeea4ea538d55687cdbb4d2d548127
Merge remote-tracking branch 'PA/kitkat' into remix-legacy

Conflicts:
	src/com/android/settings/cyanogenmod/BootReceiver.java
	src/com/android/settings/cyanogenmod/ButtonSettings.java