Add parsing of address lists.

Adds a FromHeader implementation to read in Address lists from headers.
Rename Address -> Mailbox, Create Address enum to support Groups.
Add support for address groups.
Fix issue where parse_phrase would return an empty string.

It should return None if it failed to find a phrase, like in
"<foo@bar.com>" - as < is not an " or a atext.
Previously it would return an empty string.
Support parsing of group addresses.