Proxy to retry on mongo Autoreconnect errors.

https://openedx.atlassian.net/browse/PLAT-71
@cpennington This exception happened when iterating the cursor : https://github.com/edx/edx-platform/blob/release-2014-10-29/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py#L795
```
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 109, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/newrelic-2.18.1.15/newrelic/hooks/framework_django.py", line 492, in wrapper
    return wrapped(*args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 77, in wrapped_view
    return view_func(*args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/generic/base.py", line 48, in view
    return self.dispatch(request, *args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/src/django-oauth2-provider/provider/views.py", line 41, in dispatch
    response = super(OAuthView, self).dispatch(request, *args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/newrelic-2.18.1.15/newrelic/hooks/framework_django.py", line 829, in wrapper
    return wrapped(*args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in dispatch
    return handler(request, *args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/src/django-oauth2-provider/provider/views.py", line 607, in post
    return handler(request, request.POST, client)
  File "/edx/app/edxapp/venvs/edxapp/src/django-oauth2-provider/provider/views.py", line 513, in authorization_code
    at = self.create_access_token(request, grant.user, grant.scope, client)
  File "/edx/app/edxapp/venvs/edxapp/src/oauth2-provider/oauth2_provider/views.py", line 95, in create_access_token
    scope_names = authorized_scopes(scope_names, user, client)
  File "/edx/app/edxapp/venvs/edxapp/src/oauth2-provider/oauth2_provider/oidc/core.py", line 31, in authorized_scopes
    return collect_authorized_scope(handlers, scope_names, user, client)
  File "/edx/app/edxapp/venvs/edxapp/src/oauth2-provider/oauth2_provider/oidc/collect.py", line 90, in collect_authorized_scope
    _visit_handlers(handlers, visitor, 'scope', scopes)
  File "/edx/app/edxapp/venvs/edxapp/src/oauth2-provider/oauth2_provider/oidc/collect.py", line 180, in _visit_handlers
    results.append(visitor(suffix, func))
  File "/edx/app/edxapp/venvs/edxapp/src/oauth2-provider/oauth2_provider/oidc/collect.py", line 86, in visitor
    claim_names = func(data)
  File "/edx/app/edxapp/edx-platform/lms/djangoapps/oauth2_handler/handlers.py", line 121, in scope_course_staff
    course_ids = self._courses_with_access_type(data, 'staff')
  File "/edx/app/edxapp/edx-platform/lms/djangoapps/oauth2_handler/handlers.py", line 154, in _courses_with_access_type
    courses = branding.get_visible_courses()
  File "/edx/app/edxapp/edx-platform/lms/djangoapps/branding/__init__.py", line 12, in get_visible_courses
    _courses = modulestore().get_courses()
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mixed.py", line 82, in inner
    retval = func(field_decorator=strip_key_collection, *args, **kwargs)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mixed.py", line 250, in get_courses
    for course in store.get_courses(**kwargs):
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/split_mongo/split_draft.py", line 76, in get_courses
    return super(DraftVersioningModuleStore, self).get_courses(ModuleStoreEnum.BranchName.published, **kwargs)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py", line 679, in get_courses
    for course_index in matching_indexes:
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pymongo/cursor.py", line 814, in next
    if len(self.__data) or self._refresh():
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pymongo/cursor.py", line 763, in _refresh
    self.__uuid_subtype))
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pymongo/cursor.py", line 720, in __send_message
    self.__uuid_subtype)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pymongo/helpers.py", line 102, in _unpack_response
    raise AutoReconnect("master has changed")
```