Message.getaddrlist(): Use the AddressList.addresslist attribute
instead of calling the getaddrlist() method, since the latter doesn't
work with multiple calls (it will return the empty list for the second
and subsequent calls).

Closes SF bug #555035.  Include a unittest.
diff --git a/Lib/rfc822.py b/Lib/rfc822.py
index aa58f18..826269f 100644
--- a/Lib/rfc822.py
+++ b/Lib/rfc822.py
@@ -352,7 +352,7 @@
                 raw.append(addr)
         alladdrs = ''.join(raw)
         a = AddressList(alladdrs)
-        return a.getaddrlist()
+        return a.addresslist
 
     def getdate(self, name):
         """Retrieve a date field from a header.