Replace base64 decoding.

This code has caused a long history of problems. This change rewrites it
completely with something that is, hopefully, much simplier and robust
and adds more testing.

Change-Id: Ibeef51f9386afd95d5b73316e451eb3a2d7ec4e0
Reviewed-on: https://boringssl-review.googlesource.com/8033
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/fuzz/read_pem_corpus/ed31baee70d3b705762e808e494b4debf604c5fb b/fuzz/read_pem_corpus/ed31baee70d3b705762e808e494b4debf604c5fb
new file mode 100644
index 0000000..0a71a8e
--- /dev/null
+++ b/fuzz/read_pem_corpus/ed31baee70d3b705762e808e494b4debf604c5fb
@@ -0,0 +1,31 @@
+-----BEGIN O-----
+----(END /!----‘G
+(
+ 7--
+--BEGIN :°4'-----
+G
+UU  -----BEGIN :°4'/----
+-----BEIN :°4'-----
+G
+UU--
+--BEGIN :°4'-----
+G
+UU  -----BEGIN 2°4'/----
+-----BEGIN :°4'-----
+G
+UU  QG
+wFUG
+ fbwFUU QG
+wFU     QG
+wFUG
+ fbwFUU QG
+wFU   fbwFUUU  G
+bwFU   f
+bwFU U   fbwFUU     f
+bwFU U   fbU   fbwF  fUG
+ fbwFU  f  fTwFTU   fbwFUfbwFUU   f
+bwFU U   fbwFUUí‘;!(;)š-----EN ç/O!:š---
+---BE- NI-GO---
+---*
+     f
+bwFU U   fbU   fbw-----BEG-F  fU
\ No newline at end of file