Avoid IllegalArgumentException in Preference.java compareTo()

In some situations the collection.sort() algoritm fails in compareTo()
with a: java.lang.IllegalArgumentException: Comparison method violates
its general contract!, due to a more strict validation of the compare
contract.
This strict validation was introduced in java 1.7.
See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6804124
This fix should prevent the sorting from crashing.

Change-Id: I64230e7f62f83c99d7a6274964bb2988ae843826
P2P: Fix the failure of cancel P2P invitation.

Framework will simply reply a CANCEL_CONNECT_FAILED with reason that
framework is in BUSY when try to cancel a new invitation if there is
an already exsisted p2p connection. It will cause the failure of
cancel P2P invitation. So change the behaviour here to reply
CANCEL_CONNECT_SUCCEEDED and cancel the invitation.

Change-Id: I9b270599120d2ea12dea755613691398568b37b5
Fix notification LED sometimes being disabled by a missed phone call.

This was the case if there was a notification with LED pending prior to
the missed call. After the missed call, mLedNotification was still set
to the pending notification, but the force-with-screen-off flag was only
set on the missed call notification, which wasn't checked.
Fix that issue by always assigning the latest notification to
mLedNotification when the notification is enqueued. Make an exception if
the current notification is flagged for being forced at screen off and
the screen is currently on, otherwise there's a race condition where a
notification coming in while the screen is still on after a missed call
will cause the LED to be turned off at the time the screen is turned
off.

JIRA:CYAN-652
Change-Id: I1df0b40cca2af7a08c240677d22d2a95097b7184
Don't include flags in configuration change if their value hasn't changed.

This makes the check in updateFrom() match the logic in diff().

Change-Id: I3ab4e8460f7fbf985ef55b9514a8aa90d401d486
Speed up Statusbar - Idea from http://goo.gl/3ASfz