Use a custom mailbox class with a file object. Fix #24

Introduced a code deprecated in Python 2.7 (and removed from
3.x) that handles the mailbox as a file object (file pointer). This
should allow us to parse streams, and avoid uncompressing and
storing files.

It was removed from Python because it does not allow to modify
a mbox. However, we don't modify a mbox. So, this fits with the
purpose of mlstats.

As a consequence, this patch also solves the issue of not
processing the 'received' header (Fix #24).
Refactor remote url retrieval files

Make available only one method to retrieve a web resource,
instead of one for parsing the html index and another one
for the mbox.

In addition, added magic numbers to detect the file type
by content, which is better than guessing by the subtype
given by the web server (not always available).
Make url and list name consistent. Fix #12

Make the url stored always be the same regardless if the user
entered with or without trailing slash.  Also takes care or giving
the list alias (or name) a meaningful text (non-empty) as much
as possible.

Add testcases for the class MailingList, which handles the
location, mailing list name, etc.
Conflicts:

	pymlstats/main.py