Recover apps with malformed certificates.

There was a window of time in Lollipop where we persisted certificates
after they had passed through a decode/encode cycle.  The well-written
OpenSSL library was liberal when decoding (allowing slightly malformed
certs to be parsed), but then strict when encoding, giving us
different bytes for effectively the same certificate.

A related libcore change (0c990ab4a90b8a5492a67b2b728ac9a4a1ccfa1b)
now returns the original bytes verbatim, fixing both pre-Lollipop
installs and installs after that change.

This change recovers any apps that had been installed during the
window of time described above by doing a one-time check to see if
the certs are effectively equal.

Bug: 18228011
Change-Id: Ib82bd6db718d0490d7a26c9c1014b7c8457a7f2d
Merge tag 'android-5.0.0_r7' of https://android.googlesource.com/platform/frameworks/base into hazypop

Android 5.0.0 release 7

# gpg: error loading `iconv.dll': Impossibile trovare il modulo specificato.
#
# gpg: please see http://www.gnupg.org/download/iconv.html for more information
# gpg: Signature made 11/19/14 00:13:28 using DSA key ID 9AB10E78
# gpg: Can't check signature: public key not found