Frameworks: Slim heads up customizations for LP (1/2)

Basically it follows the same idea like we had on SlimKat....see here
https://github.com/SlimRoms/frameworks_base/commit/323ed77c5e5bd6d421beae1f8118eb580be5ecf1

That said there are some differences in this more or less completely recoded feature.

- Moved it into the app policy files
- Enable/Disable on every app (no system apps)  either longpress a notification and an button appears / or in notification app settings
- For now only snooze and heads up timeout configurable....other stuff will follow later.
- fix up some AOSP code for it as well fix some UX inconsitence.
- left swipe dismiss, right swipe put into background, swipe down opens notification drawer and moves the notification into it
  (aosp default behaviour is a big UX disaster....swipe up dismisses it completely and swipe down open notification drawer but heads up stays....first
   happened to me 10000 times accidentally which is really bad and second does not make sense. Hence this change of the default behaviour)

Well and a lot smaller things as usual.

Last PS
- fixed some minor stuff
- reset snooze timer when screen goes off
- do not show headups if notification drawer is visible

PS
making snooze button functional - we may need to move it a bit down.

PS
give snooze button a bit animation love

PS
icons

PS
add accessibility descriptions etc

PS
hedasupcandidate package fix
move snooze timout into config
smaller fixes
out off WIP and ready to merge
added commit description

Still ToDo:
Settings

Change-Id: Ic8977feb4bb0700f1093ce7d62c22d4c63c69bad

Conflicts:
	core/java/android/app/NotificationGroup.aidl
	core/java/android/provider/Settings.java
	packages/SystemUI/res/layout/notification_guts.xml
	packages/SystemUI/res/values/config.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	services/core/java/com/android/server/am/ActivityStackSupervisor.java

(cherry picked from commit 3be276a207f95d4791cdbee1689ac688f53161b7)
CommandQueue: showCustomIntentAfterKeyguard ensure that it gets syncronized

Change-Id: I86be91a09277bfa8b1522fb0088541ac865eb23b
(cherry picked from commit c10070417d818174d84f4ef9cd6f7cf42f815e80)
Frameworks: Only set package name on user heads ups

Let us not influence the default aosp behaviour which could conflict if an app
is strange coded

Change-Id: If69e40ce932ce7e77886d250879346a9a43920a2
(cherry picked from commit 939e37e08314e9ad724326a4d8d1c8716d5550f3)