Settings: Hardware key custom rebinding (2/2)

Settings for rebinding the actions performed on the following key press events:
Home long-press, menu press, menu long-press, search press, search long-press,
app-switch press and app-switch long-press.

The available actions are: Nothing, open/close menu, recent apps switcher,
search assistant, voice search and in-app search.

Devices with a key configuration other than home, back, menu and search need to
set config_deviceHardwareKeys in an overlay to have the correct preferences
show up.

Patchset 1  : Initial port from ICS [done by Konstantin Koslowski]
Patchset 2  : Added 'assist' (search) key customisation
              Option for ICS-style in-app search, in addition to jellybean-style
              search assistant.
              Prevented list preference summaries misaligning in the event of
              their entries being reordered.
              Prevented a potential NPE.
              Moved strings.xml edits to CM10 section.
Patchset 3  : Checkbox to enable/disable all custom bindings.
              Home long-press defaults to no action on devices with
              an app-switch key.
Patchset 4  : Rebased
Patchset 5  : Rebase, Strings fixup and other minor tweaks
Patchset 6  : Fix typo in commit message
Patchset 7  : Updated overflow summary string

Change-Id: I2f53dc110638f906fcb18bb5f6edadbd465530ab

Conflicts:
	res/values/arrays.xml
	res/values/strings.xml
	src/com/android/settings/cyanogenmod/SystemSettings.java