Proxy to retry on mongo Autoreconnect errors.

https://openedx.atlassian.net/browse/PLAT-71
`find_one` just calls `find` which instantiates a `Cursor`; so, I'm not sure why `find_one` needs separate wrapping. It seems odd to wrap `ensure_index` as it's not a read op. Although we're not using these yet, perhaps this should wrap `aggregate, parallel_scan, group, map_reduce, inline_map_reduce`. On `Cursor`, it seems it should wrap `distinct`