Add a third notification section

A bunch of things, but they are (mostly) hidden behind a flag:

- Made the NotificationEntry#bucket concept more generic
- Added logic to NotificationData to set a bucket int on each entry
- Flag config_usePeopleFiltering in systemui.config turns on new behavior
- Reduced the number of hacks in NotificationData to 1. Now it sets the
  buckets n the entries only once post-sort
- NotificationEntry has a basic check for "people"
- NSSL delegates to NotificationData/NotificationSectionsManager for
  creating sections
- NotificationSectionsManager can now manage any number of sections

The basic gist of this change is to enable and partially implement a
"people" notification section. In order to do that, we have to do a
little bit of cleanup to make NotificationSections more generic, then
find a way to differentiate "people" notifications.

To generify the sections logic, this change furthers the concept of
notification "buckets". A bucket is entirely a concept shared between
NotificationData and NotificationEntry, but with the intention that each
bucket will get its own section. Once a set of buckets is decided upon,
NSSL tells NotificationSectionsManager to create the necessary sections.
NSSL also will need to ask the sections manager to check the entire list
of view in the panel for section boundaries, since they can be anywhere
and there can be any number of them.

The people filtering is currently straightforward. NotifiationEntry
checks for EXTRA_PEOPLE_LIST or EXTRA_MESSAGES and checks for people
information on a notification. If it exists, then that entry gets sorted
to the top and will get its own bucket set (if the setting is on).

Test: visual
Bug: 140232781
Change-Id: I7fa5c4d7509f2ca5f485216f2de0160c91802235
16 files changed