NotificationManager : Rebind the notification listeners onChange

Rebind notification listeners when list of listeners change.

Change-Id: I7a14dacdf7a44a3bd71d28748a70d751507230df
Revert "Auto-close if you swipe away the last notification."

This reverts commit 8cc36e572876f3bb9197f0109db3042466e5f917.

It didn't work as advertised anyway: It only worked if there are no
persistent notifications, and it also closes the notification area if
the notification is closed by the app itself.

Change-Id: I16f0fb6cf41d20c3a3bd4278446edab780c1fc77

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Close notification panel when swiping away the last clearable
notification.

Change-Id: I4e5114f66e799a7c80e18b38abce5678da460846
Fix requery behaviour of MemoryCursor.

As we can't restore the contents of the cursor window, we need to keep
it on deactivation so we can restore it on requery().

Change-Id: I06f688bbe9120c307bdc3ddbc3833416becdec82
Fixes for clang:
PackageInfo is a class, not a struct.
String16 is contained in the android namespace. Do not namespace prefix it
within the android namespace.
Explicitly specify which std classes are necessary to prevent ambiguous
type errors. (map, set)

Change-Id: I0d01477a976e770821ebae8847f8d11b132a15d6
Improve notification shade collapse code.

- Collapse after dismissing the last notification
- Avoid duplicate code paths for collapsing
- Improve variable naming according to AOSP review suggestions

Change-Id: Ic6f26a61f263c5beebbcc9725fe8914d3858576f

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Make notification-shade-collapse-after-dismiss behaviour configurable.

Change-Id: I1be0be2753b479e6d2e4fc8e17d971d03ce01bb7