Retry writes to mongo on AutoReconnect

When pymongo raises an AutoReconnect exception we should attempt the
write again.

http://api.mongodb.org/python/2.5/examples/high_availability.html#high-availability-and-mongos

Ulatimately we should consider moving over to a MongoReplicaSetClient

http://api.mongodb.org/python/2.5/examples/high_availability.html#mongoreplicasetclient
Add tests to save retry and reraise AutoReconnect

If after N tries the AutoReconnect error is still being raised then
reraise it so that it gets logged as an error.
Add logging around AutoReconnect

To monitor how often this is happening and being recovered from.
Merge pull request #72 from alphagov/retry-on-mongo-autoreconnect

Retry writes to mongo on AutoReconnect
Fixing pep-8 errors