Hardware Key Custom Rebinding (1/2)

Change-Id: I28e4359a0863da28b210fd9680848080050fb106
Add ability to answer call with hardware HOME button (1/2)

(preparation for winter time)
------

<New edits>:
PS2: Fix port forward compatibility issues and fix up double if statement used in 4.1
PS3: Fix brace derp
Change-Id: I88ff168e3bb1accab9a531267812333c0ae68059
bugfix: allow recent apps dialog to work with menu long-press

With the original patch, using the recent app dialog from a
menu button long-press would cause the dialog to be preloaded
and then dismissed on key-up. Check long-press behavior settings
as well as short-press to prevent the dismissal.

Change-Id: Idf1d27aa725547e0ddc44905e27da6c1b4540fab
More options added to hardware key rebinding (1/2)

In the same vein as the available Navbar actions, this adds the following new hardware key rebind options:
 * Last app: Switches to the last app
 * Power button: Turns off the screen
 * Custom app: Launches an application/activity of your choice

Change-Id: I1ca98b1c615e4336c644d0247b4277b9421a96ff

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Fix issue with hardware keys KEY ACTION comparisons.

Menu unlock now works properly.

Patchset 2: Switched detection of onscreen keyboard input to KeyCharacterMap.VIRTUAL_KEYBOARD

Change-Id: I092258fc20789a12123e319ed2dca25c55bb9f0c
Keyboard light: Fix the physical keyboard not light when it's visiable.

Change-Id: I595afd3cb6b422a17ae0f6ec20aa51979db13810

Conflicts:
	services/java/com/android/server/power/PowerManagerService.java
Framework: Add Home/Back buttons available for rebinding (1/2)

Finally, we can disable or rebind all hardware buttons!
Also adds Expanded desktop toggle and Notification shade toggle

Change-Id: I0ca51c25e8434696a514fd1ef1e1e33543bf066a

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/symbols.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java