Merge client/server SSL_METHODs into the generic one.

Supporting both schemes seems pointless. Now that s->server and s->state are
set appropriately late and get_ssl_method is gone, the only difference is that
the client/server ones have non-functional ssl_accept or ssl_connect hooks. We
can't lose the generic ones, so let's unify on that.

Note: this means a static linker will no longer drop the client or server
handshake code if unused by a consumer linking statically. However, Chromium
needs the server half anyway for DTLS and WebRTC, so that's probably a lost
cause. Android also exposes server APIs.

Change-Id: I290f5fb4ed558f59fadb5d1f84e9d9c405004c23
Reviewed-on: https://boringssl-review.googlesource.com/2440
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/s3_meth.c b/ssl/s3_meth.c
index 49bbc64..7c061a2 100644
--- a/ssl/s3_meth.c
+++ b/ssl/s3_meth.c
@@ -77,3 +77,43 @@
 			ssl3_accept,
 			ssl3_connect,
 			SSLv3_enc_data)
+
+const SSL_METHOD *TLSv1_2_server_method(void)
+	{
+	return TLSv1_2_method();
+	}
+
+const SSL_METHOD *TLSv1_1_server_method(void)
+	{
+	return TLSv1_1_method();
+	}
+
+const SSL_METHOD *TLSv1_server_method(void)
+	{
+	return TLSv1_method();
+	}
+
+const SSL_METHOD *SSLv3_server_method(void)
+	{
+	return SSLv3_method();
+	}
+
+const SSL_METHOD *TLSv1_2_client_method(void)
+	{
+	return TLSv1_2_method();
+	}
+
+const SSL_METHOD *TLSv1_1_client_method(void)
+	{
+	return TLSv1_1_method();
+	}
+
+const SSL_METHOD *TLSv1_client_method(void)
+	{
+	return TLSv1_method();
+	}
+
+const SSL_METHOD *SSLv3_client_method(void)
+	{
+	return SSLv3_method();
+	}