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