[1/2][SQUASHED] Base: On-The-Go mode

Squashed on-the-go of following commits:
NamelessRom/android_frameworks_base@c9515a3
NamelessRom/android_frameworks_base@e28324c
NamelessRom/android_frameworks_base@755e04c
NamelessRom/android_frameworks_base@ede7578
NamelessRom/android_frameworks_base@7350979
NamelessRom/android_frameworks_base@19c8631
NamelessRom/android_frameworks_base@5c63f5a
NamelessRom/android_frameworks_base@2a15bce
NamelessRom/android_frameworks_base@1fa20bc
NamelessRom/android_frameworks_base@bfbfdae
NamelessRom/android_frameworks_base@90ac0f6

Change-Id: I8f8f109673613ae4c8a86f6b235c487203c8609c

Conflicts:

	core/java/com/android/internal/util/cm/QSConstants.java
	core/res/res/anim/slide_in_left_no_fade.xml
	core/res/res/values/cr_strings.xml
	core/res/res/values/cr_symbols.xml
	packages/SystemUI/res/values/cr_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java

Conflicts:
	core/java/com/android/internal/util/cm/QSConstants.java
	core/res/res/values/spirit_strings.xml
	core/res/res/values/spirit_symbols.xml
	packages/SystemUI/res/values/spirit_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java
	policy/src/com/android/internal/policy/impl/GlobalActions.java
Custom clear recents button (1/2)
    - Option to show/hide
    - Option to choose which corner to place (top left, top right, bottom left, bottom right)

Thanks omnirom team
Original commit: https://github.com/omnirom/android_frameworks_base/commit/dc9ddf62c4a0b1710ad3ce4bdf19ce5dcf63094c

Change-Id: I9c15fee94de38cd94a8d685b76a43af58c48bd5e

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java
Lockscreen Notifications [1/2]

My try on making notifications easily accessable from lockscreen.
Credits to ChameleonOS, I got the notification listener permission and some small other stuff from their ActiveDisplay implementation.

Lockscreen Notifications allow you to manage all your notifications directly on the lockscreen.

Features:
- Pocket mode turn screen on when phone is pulled out of pocket and turn it off when phone gets back in pocket
- Hide low priority notifications
- Hide non-clearable notifications
- Allow dismissing even non-clearable notifications from lockscreen
- Just turn screen on when there's currently a notification pending
- Toggle between expanded and normal notification view by longpressing
- Wake on new notification
- Configure notification count displayed at once
- Privacy Mode: disable showing notification content.
- Blacklist apps - thanks to ChameleonOS for the original implementation and @Der-Schubi for bringing it to lockscreen notifications

This should still be considered as beta, even if it seems to work very well for me.

Change-Id: I4d72de71d36dc2f66ad7e3ce7a4442a931cf2982

Conflicts:
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
Lockscreen Notifications: Fix NPE

E/AndroidRuntime( 3778): java.lang.NullPointerException
E/AndroidRuntime( 3778): 	at com.android.keyguard.NotificationViewManager.onScreenTurnedOn(NotificationViewManager.java:286)
E/AndroidRuntime( 3778): 	at com.android.keyguard.KeyguardViewManager.onScreenTurnedOn(KeyguardViewManager.java:825)
E/AndroidRuntime( 3778): 	at com.android.keyguard.KeyguardViewMediator.handleNotifyScreenOn(KeyguardViewMediator.java:1416)
E/AndroidRuntime( 3778): 	at com.android.keyguard.KeyguardViewMediator.access$2300(KeyguardViewMediator.java:104)
E/AndroidRuntime( 3778): 	at com.android.keyguard.KeyguardViewMediator$4.handleMessage(KeyguardViewMediator.java:1131)
E/AndroidRuntime( 3778): 	at android.os.Handler.dispatchMessage(Handler.java:102)

Fix NPE on first boot

Change-Id: I6aa4f62ffbc00be15aa98ee3a137bb0d6add6610
Lockscreen Notifications: make dynamic width a device overlay setting

dynamic width is disabled by default, to enable it for a specific device, add
<bool name="config_lnDynamicWidth">true</bool>
to yourdevicetree/overlay/frameworks/base/packages/Keyguard/res/values/config.xml
Lockscreen Notifications: rewrite add notification logic

There were some problems with notifications getting replaced while the user was currently dragging them.
This commit should fix that by always waiting until animations and user input are finished before replacing a notification view.

Change-Id: I53d5da164e9189a2ea12c02e7d24fd603985a2d1
Lockscreen Notifications: dismiss all button, improve animations, cleanup

Change-Id: I408b69a39d9551d00ebc8aa54fb4ef7377fe818b

Conflicts:
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.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/NavigationBarView.java
Lockscreen Notifications: fix show/hide of show all button

& fix endless SystemUI FC when SystemUI is killed

Change-Id: Ie46ef525f72b7ce575dacfb1f05e46a140c87cc5
Lockscreen Notifications: fix NPE