Notification Light: Fix apps with same name not showing up

Applications with the same name didn't show up in the
notification light add-app-dialog (with Facebook's "Messenager"
and Google's "Messenager" being the prominent example here).

This happend due to the fact that the list of applications
was sorted by names only and inserts with collisions were
dropped.

This commit refactor notification light settings to use packages
instead of application semantics. Further the list of packages
is now ordered by human readable name followed by package name,
which avoids the collision.

Additionally we handle situtations gracefully where a package
has more than one launcher activity (Again for example,
Google's "Messenger" and "Google+" is in the same package).

Bonus: potential race condition in the list adapter was
fixed, concurrent semantics were emphasized, unused imports
removed.

Change-Id: I87ad32f535ca866883df337432d1b0cecc9485a8
Merge "Notification Light: Fix apps with same name not showing up" into cm-10.1-staging