Fix CellBroadcastReceiver to ignore duplicate broadcasts.

Before showing an alert dialog or notification, check to
see if the broadcast message is already in the database.

Bug: 6506785
Change-Id: I3063ef3d5355301e4292437348cf789ff540e0b1
merge in jb-mr0-release history after reset to jb-dev
Implement CMAS service category program results.

Correctly handle CDMA Service Category Program Data requests,
and send the SCPT response to the message center. Parcel SCPD
operations as an ArrayList instead of an array (current version
will throw ClassCastException when the array is cast).

Bug: 6853691
Change-Id: If629a0c9568a19b6c9d5160c704d3b41ef94bd6c
merge in jb-mr0-release history after reset to jb-dev
Add message ID cache to detect duplicate broadcasts.

Ignore received broadcasts with message ID and geo scope matching
an already received cell broadcast. This prevents the display of
duplicate alerts when the user has deleted the original broadcast.

Bug: 6853691
Change-Id: I879be8fbdd092e4b6d26ecc074034ce79a4e284c
merge in jb-mr0-release history after reset to jb-dev
Merge android-4.1.2_r1