Make methods of |RAND_SSLEay| do reasonable things.

This means e.g. that a caller can say:

  RAND_SSLEay()->bytes(...)

and so on.  But in exchange for this convenience, I've changed the
signatures to be more BoringSSL-ish (|size_t| instead of |int|).
That's fine; |RAND_set_rand_method(SSLEay())| still works.  And by
works I mean "does nothing".

Change-Id: I35479b5efb759da910ce46e22298168b78c9edcf
Reviewed-on: https://boringssl-review.googlesource.com/5472
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/rand/rand.c b/crypto/rand/rand.c
index 0d146a8..3969520 100644
--- a/crypto/rand/rand.c
+++ b/crypto/rand/rand.c
@@ -171,8 +171,14 @@
   return 1;
 }
 
-static const struct rand_meth_st kSSLeayMethod = {NULL, NULL, NULL,
-                                                  NULL, NULL, NULL};
+static const struct rand_meth_st kSSLeayMethod = {
+  RAND_seed,
+  RAND_bytes,
+  RAND_cleanup,
+  RAND_add,
+  RAND_pseudo_bytes,
+  RAND_status,
+};
 
 RAND_METHOD *RAND_SSLeay(void) {
   return (RAND_METHOD*) &kSSLeayMethod;