Issue #27506: Support bytes/bytearray.translate() delete as keyword argument

Patch by Xiang Zhang.
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index ff87dfe..4fdaa52 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -2045,21 +2045,19 @@
 
     table: object
         Translation table, which must be a bytes object of length 256.
-    [
-    deletechars: object
-    ]
     /
+    delete as deletechars: object(c_default="NULL") = b''
 
 Return a copy with each character mapped by the given translation table.
 
-All characters occurring in the optional argument deletechars are removed.
+All characters occurring in the optional argument delete are removed.
 The remaining characters are mapped through the given translation table.
 [clinic start generated code]*/
 
 static PyObject *
-bytes_translate_impl(PyBytesObject *self, PyObject *table, int group_right_1,
+bytes_translate_impl(PyBytesObject *self, PyObject *table,
                      PyObject *deletechars)
-/*[clinic end generated code: output=233df850eb50bf8d input=ca20edf39d780d49]*/
+/*[clinic end generated code: output=43be3437f1956211 input=0ecdf159f654233c]*/
 {
     char *input, *output;
     Py_buffer table_view = {NULL, NULL};