Time.time: Work around a Python bug

There is a [bug][1] in older versions of Python (reproduced up to 2.7.5 and 3.2.3) where time.strftime('%z') would always give '+0000' if it's given an argument. It's closed as "not a bug", but appears to be fixed in recent versions. To work around this, datetime and dateutil is used now when available.

[1]: http://bugs.python.org/issue1493676