Telephony: Introduce config item for Hot Swap support

When a Uicc Card is inserted or removed, Android pops up a prompt
to the user to reboot the device. This prompt is unnecessary if the
modem supports Hot Swapping of cards.

Introduce a new config item to indicate if the modem supports
hotswapping. Frameworks can then check this before propmting the
user.

Change-Id: I0f2c3134525aa2301fd667d0a1819f4419eecae0
policy: fix menu key for devices with no physical menu key

Initialize key behaviour correctly for the case where the respective key
isn't present in hardware.

Change-Id: I424f879dcf5e09c0897d7ebf7646efe36661d108
Fix virtual key press detection.

Virtual key events can be injected from anywhere, not just
PhoneWindowManager.

Change-Id: Ia9529c6534a208bf713912fc63f81a016754c6a6
Enable custom actions for double-tap home (1/2)

PatchSet1: add custom actions
PatchSet2: set defaults
PatchSet3: try to get defaults from config.xml
PatchSet4:
* do get defaults from config.xml
* store state of HARDWARE_KEY_REBINDING
* removed trailing whitespaces
PatchSet5: merge with 48002
PatchSet6: getting late, forgot to change the title when merging
PatchSet7: remove whitespace trimming, reduce code duplication
PatchSet8: rebase, simplify code

Change-Id: I041e7ab3853b356ddbdab2524f096546319276f9
AudioService: Go back to virtual SCO calls on multi-function units

Direct raw audio channels to these HFP devices is resulting in
dead audio on hangouts, on all devices. Until that is figured
out and/or fixed, go back to establishing a virtual call to open
up the audio channels

Change-Id: I794e75eed96ac09cfbb1c9d28c90d3161cfb7149
Framework: Fix blacklist support

Copy & Paste isn't a good friend for programmers ;)

Change-Id: Ic6ab81462530f614b9e896cb098590241accb192
Fix ringer mode being unneededly changed by setting ringer mode volume to 0.

When having set the ringer mode to silent on a device with vibrator and
calling setStreamVolume() for the ringer stream again (e.g. in one of
the volume control dialogs in the settings app), the ringer mode is set
to vibrate, although there's no reason to do so.

Fix that by remembering the last non-normal (that is, either silent or
vibrate) ringer mode and using that when setting the stream volume to 0.

Change-Id: Idb4a34743c0db5da61b3354889212fbdc9e3ee81
JIRA: CYAN-1403
Merge "Framework: Fix blacklist support" into cm-10.2
Merge "policy: fix menu key for devices with no physical menu key" into cm-10.2
Merge "Fix virtual key press detection." into cm-10.2
Merge "Telephony: Introduce config item for Hot Swap support" into cm-10.2
Merge "Enable custom actions for double-tap home (1/2)" into cm-10.2
Merge branch 'cm-10.2' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.2

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java