timezone() randomly throws an exception
fake.timezone() sometimes throws an exception, possibly when a country doesn't have any timezones defined:

``` python
>>> from faker import Faker
>>> f = Faker()
>>> f.timezone()
'Africa/Mogadishu'
>>> f.timezone()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/vagrant/.python/lib/python3.3/site-packages/faker/providers/date_time.py", line 378, in timezone
    return cls.random_element(cls.countries)['timezones'].pop(0)
```

This is with Python 3.3 using fake-factory 0.4.0 from pypi.

diff --git a/faker/providers/date_time.py b/faker/providers/date_time.py
index 7d122d40..b91b3346 100644
--- a/faker/providers/date_time.py
+++ b/faker/providers/date_time.py
@@ -382,7 +382,4 @@ class Provider(BaseProvider):
 
     @classmethod
     def timezone(cls):
-        return cls.random_element(cls.countries)['timezones'].pop(0)
-
-
-
+        return random.choice(cls.random_element(cls.countries)['timezones'])
['faker/providers/date_time.py']