Correct executable bit for source files [Take 2]

Change Ieb51bafb46c895a21d2e83696f5a901ba752b2c5 left out some
files, this fixes them.

Change-Id: Ia949a8581668836ea0251602e048f09c852f5169
Two REMOVE_PROVIDER messages caused by race condition.

Fix a bug in unstable ContentProvider.
IllegalStateException: ref counts can't go to zero here: stable=0 unstable=0
IllegalStateException: unstable count < 0: -1

There is a race between main thread and background database thread. Main thread
is responsible for handling the REMOVE_PROVIDER message. Database thread starts
insert or query request again and again. acquireProvider in db thread will often
snatch provider from the jaws of death, sometime it fails to remove REMOVE_PROVIDER
which is already fired out from MessageQueue. But completeRemoveProvider in main
thread gets suspended when trying to execute the critical section. If db thread
released the provider before main thread resumes the execution, then two
REMOVE_PROVIDER messages will be executed.

Change-Id: I8588aa1d1a8bc444dcd2adf6f8bc3f055cebbdc4
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
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.

Change-Id: I5db40c4f20e8360808bc556e5e89d59bc17e0c98
update pie controls

Change-Id: Id66dcbe7c178d0e1a0e121b761d7c2b57400760c