Add |BIO_read_asn1| to read a single ASN.1 object.

Android needs to be able to read a PKCS#7 blob from a Java InputStream.
This change adds |BIO_read_asn1| which reads a single ASN.1 object from
the start of a BIO without overreading.

(Taken from upstream's https://boringssl-review.googlesource.com/4800)
(cherry picked from commit f5cea4e0c1c842a9de02ce39cd6ff7ae66363b21)

Bug: 21396526
Bug: 21209493
Change-Id: Id88f34bedfdff4963c72bcd5c84f2915785d1fcd
3 files changed