Merge Navigation Bar and Pie Controls button config (1/2)

Based on the commit series for pie controls, this commit
makes the Navigation Bar and Pie Controls share
the same button layout. However, there is no button layout
editor for pie controls, which makes the navigation bar
the leading entity when it comes to button layouts.

This commit introduces:
* A common notion of navigation buttons used in CyanogenMod.
  (class NavigationButtons)
* Some setting constants changes to avoid clashes with PA.
* Removal of the pie search key, since it is no longer needed.
* Sophisticated key event injection.
* Virtual key sound effect

Change-Id: Id68f8d0b597d7d89c55c3f66f994e632d014f006
Merge "Merge Navigation Bar and Pie Controls button config (1/2)" into cm-10.1
Merge branch 'cm-10.1' of github.com:CyanogenMod/android_frameworks_base into cm-10.1

This also reverts commit: Navigation Bar and Pie Controls button config (1/2):
https://github.com/CyanogenMod/android_frameworks_base/commit/1c601ac8dde76d68e3824191e675256b47e0493f

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavbarEditor.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/PieController.java

Change-Id: I7ff92a38b3b717f08cb92e896b11d93fc443d8d0