Rework the way the load the timezone when uploading iCal files

With these changes, we will first rely on pytz, if it managed to match
the timezone.
If not, check if it is UTC.
Otherwise, rely on dateutil/zoneinfo and retrieve the name from the tzfile
objects that dateutil relies on.

If none of the above works, drop backs to the current behavior which is
using the name (acronym) and the UTC offset, get a timezone name that is
consistent, too bad if it's not exactly the right one, at least the time
should be correct.
yes because ``str(tzinfo)`` returns something like ``foo('bar')``