Camera button rebinding and lockscreen action additions (1/2)

Adds new config_deviceHardwareKeys bitmask for camera button.
Lets you rebind the camera press/longpress and adds a new KEYCODE_CAMERA handler to inject a longpress KeyEvent
in order to let you bind keys to actually trigger the shutter, in addition to launching the app itself.

This also adds KEYCODE_ASSIST and KEYCODE_APP_SWITCH to the available keys to assign longpress lockscreen actions to.

Change-Id: I63583dbbaa0f6a3d21724f4948f86bb01e44b71b

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/config.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
	policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java
LockScreen: allow long-press actions from hardware keys (1/2)

Allow following actions with button long-presses on lockscreen:
- toggle flashlight (if available)
- play/pause/next/previous track selection
- toggle silent mode

Allow customizing of back, menu, and home buttons. Search
button events are completely ignored on the lockscreen.

Auto-detect hardware keys, only show appropriate menu
options based on the actual hardware keys available on the
device (or completely hide if there are no hardware keys).

Based largely on Danny Baumann's work from gingerbread.

Ported from CM10

Change-Id: Iff32736d00ca5d4122f64a6a861bbb0a1de9cca9

Conflicts:
	core/java/android/provider/Settings.java
	policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java
Fix home/menu unlock with long press hardware key

- Forward port of commit 2a572ee7587cb0b686871e95567313aa8bc8bfd5

Change-Id: Ic2eb85542f8052fe1662244fe5e72ba12a98608b
Fix custom insecure unlock logic

The previous implementation of lockscreen hardware keys long press
actions has conflicts with the Menu/Home/Back key unlock methods.
This was due to a derp in the switch loop.
This commit fixes this

Change-Id: I03025b8c8217d3bd0999b784b1c3046646bfa70f
Keyguard: Fix for home wake/unlock sometimes waking and unlocking during the same keypress.

Change-Id: I72ea7611d39aac0cd03dfd5aa7036aeef7600140
Add Power & Camera to Lockscreen longpress buttons (1/2)

<3 cordell

Change-Id: I9a57487abefe4a1a3a2bcec3f4e9309a6f3af962
Enhance lock screen longpress for camera

Lock screen now opens the secure camera if security is enabled
just like the camera widet, else opens the normal one.

Change-Id: Ieac909ff547c0fed7eb7d99f3917fc8e2e55c603
Simple change to default from 15 to 7 making handful of devices that have 4 softkeys require a overlay. Kill the need for sgs common overlay in vendor/slim

Change-Id: I480d4939cda4c4955184500c4daeddced207ded8
helps to add all the code