Fix a more bytes/str confusion.

Use str.encode('raw-unicode-escape') consistently instead of bytes(string).

Remove the convert_eols argument from base64mime.decode().  This matches
previous API changes done to the quoprimime module.
diff --git a/Lib/email/base64mime.py b/Lib/email/base64mime.py
index 0319bbb..e309f30 100644
--- a/Lib/email/base64mime.py
+++ b/Lib/email/base64mime.py
@@ -109,7 +109,7 @@
     lines = []
     for line in base64ed:
         # Ignore the last character of each line if it is a newline
-        if line.endswith(NL):
+        if line[-1] == ord(NL):
             line = line[:-1]
         # Add the chrome
         lines.append('=?%s?b?%s?=' % (charset, line))
@@ -158,25 +158,19 @@
 
 
 
-def decode(s, convert_eols=False):
+def decode(string):
     """Decode a raw base64 string, returning a bytes object.
 
-    If convert_eols is set to a string value, all canonical email linefeeds,
-    e.g. "\\r\\n", in the decoded text will be converted to the value of
-    convert_eols.  os.linesep is a good choice for convert_eols if you are
-    decoding a text attachment.
-
-    This function does not parse a full MIME header value encoded with
-    base64 (like =?iso-8895-1?b?bmloISBuaWgh?=) -- please use the high
-    level email.Header class for that functionality.
+    This function does not parse a full MIME header value encoded with base64
+    (like =?iso-8895-1?b?bmloISBuaWgh?=) -- use the high level
+    email.Header class for that functionality.
     """
-    if not s:
-        return s
-
-    dec = a2b_base64(s)
-    if convert_eols:
-        return dec.replace(CRLF, convert_eols)
-    return dec
+    if not string:
+        return bytes()
+    elif isinstance(string, str):
+        return a2b_base64(string.encode('raw-unicode-escape'))
+    else:
+        return a2b_base64(string)
 
 
 # For convenience and backwards compatibility w/ standard base64 module