Remove accidental pop on dict.get
Handle when last_updated cache key is missing. Fixes #2.

Note the verbose code comment in models.py of this check in. Since there is no coordination amongst the separate instnaces of durabledict, when a cache value for last_updated expires and needs to be recreated, it is impossible to know what the actual correct value should be. Any number of updates from any number of instances of durabledict could have occured, possibly been reflected in the cached value for last_updated, but not recieved by another instance of durable dict that actually sees the last_updated value as missing and needs to recreate it. That instance actually has no idea what the correct value is since its only window into dict updates occuring is the last_udated value in cache which is now gone!

The hacky solution in this diff is to increment the last_updated cache value by some number which is likely to encompass all writes possibly recieved by all instances of
durable dict not seen by the instance doing the update. As noted in the comment, this solution is not fullproof but does help to mitigate the most likely problems.
Ship 0.7.1
add retrys to all zk opperations

Summary: somtimes we get a session expired exception, this should curb that

Test Plan: pass

Reviewers: ted, jeff

Reviewed By: jeff

Differential Revision: http://phabricator.local.disqus.net/D10491
Merge pull request #1 from disqus/master

latest from upstream