Don't readd pending notifs to NEM's allNotifs list

Instead, we reuse the pending notification entry so we don't
unnecessarily create and retain mutliple notification entries for the same
notification.

Additionally:
 - dump all notifications kept by NEM in a dumpsys/bugreport
 - move mLeakDetector.trackGarbage(entry) to after NEM.listeners are told to
 remove their references to the entry
 - trackGarbage(entry) on pending notifications that are removed

Test: atest NotificationEntryManagerTest
Test: adb shell dumpsys activity service com.android.systemui/.SystemUIService dependency DumpController NotificationEntryManager
Test: check memory usage of com.android.systemui before and after
running NexusLauncherTests (observe view count doesn't incrementally get
worse)
Fixes: 156301621

Change-Id: Ia6d6dbc442fe28832f1ed70b35ca64278a871237
2 files changed