Replace time.sleep() with a generic _sleep

Summary:
We want clients to be able to specify their own sleep function for
mongoengine sleeping (so Tornado can do async sleep without needing to
put the tornado dependency within mongoengine).

Also increase the timeout & retries for reads now that we have a good
way to sleep.

Test Plan: Tested in D18724

Reviewers: tarek, jack, josh, bill

Maniphest Tasks: T13149

Differential Revision: http://phab.wish.com/D18725