Fix for SF bug #1072623.  When the last line of the input string does not end
in a newline, and it's an end boundary, the FeedParser wasn't recognizing it
as such.  Tweak the regexp to make the ending linesep optional.

For grins, clear self._partial when closing the BufferedSubFile.

Added a test case.
diff --git a/Lib/email/FeedParser.py b/Lib/email/FeedParser.py
index 1d6e3dd..690b7c2 100644
--- a/Lib/email/FeedParser.py
+++ b/Lib/email/FeedParser.py
@@ -62,6 +62,7 @@
     def close(self):
         # Don't forget any trailing partial line.
         self._lines.append(self._partial)
+        self._partial = ''
         self._closed = True
 
     def readline(self):
@@ -279,7 +280,7 @@
             separator = '--' + boundary
             boundaryre = re.compile(
                 '(?P<sep>' + re.escape(separator) +
-                r')(?P<end>--)?(?P<ws>[ \t]*)(?P<linesep>\r\n|\r|\n)$')
+                r')(?P<end>--)?(?P<ws>[ \t]*)(?P<linesep>\r\n|\r|\n)?$')
             capturing_preamble = True
             preamble = []
             linesep = False