Recents long press: add pluggable implementation

Adds a new intent ACTION_RECENTS_LONG_PRESS for the
long press of the recents button. Other system applications
can register for the intent to provide custom handling.
Handlers of this intent are queried for in the settings
application, and if no handlers are found, the default
implementation falls back on ActionUtils.switchToLastApp().

The long press listener on the recents button is replaced
with a touch handler to allow for more custom handling.

Change-Id: I8a27ae0fe58d92a1626f0bd661c5f57c589fac17
Keyguard: Allow applications to customize left-corner widget

Adds ability for trusted applications to set the application widget and
action in the lower left corner of the Keyguard.  Its behavior is
modeled against the on-screen camera widget most commonly found on the
lower right corner of the Keyguard.

Three intents are defined: one to set the widget, one to clear the
widget, and one to notify when the widget is activated.

Applications calling this intent must have this permission:
android.permission.SET_KEYGUARD_APPLICATION_WIDGET.

Change-Id: I8c5b11fd1cc1888c710bf3736e3c28d77fc57e37

Conflicts:
	core/java/com/android/internal/policy/IKeyguardService.aidl
	packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
	packages/SystemUI/res/layout/navigation_bar.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardTouchDelegate.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
	policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceWrapper.java