Get the new mapreduce lib to work on GAE 1.7.  Only allow this for tests.

Summary:
It turns out that the 1.8 dependencies that GAE has are very small.
So I mocked them out.

These mocks make assumptions -- for instance, that you're never
running a mapreduce on a backend -- that would be very problematic in
prod, so I make sure we're not running in prod.  That should never
happen anyway, since we only use the mocks when the 'real'
functionality isn't available, which should never be the case in prod.

Test Plan:
Ran the following and all these tests passed:
   tools/runtests.py homepage_test.LearningDashboardTest.test_sanity_check_learning_dashboard i18n_test.LanguageRedirect.test_homepage_redirect_keeps_port i18n_test.LanguageRedirect.test_homepage_redirect_with_user_language i18n_test.LanguageRedirect.test_homepage_redirect_with_user_language_mo_filename_or_not i18n_test.LanguageRedirect.test_random_path_and_query_string_redirect_with_user_language i18n_test.LanguageRedirect.test_redirect_to_canonical_language_tag i18n_test.LanguageRedirect.test_stay_logged_in_during_redirect knowledgemap.handlers_test.ViewKnowledgeMapTest.test_knowledgemap_loads_for_anonymous knowledgemap.handlers_test.ViewKnowledgeMapTest.test_knowledgemap_loads_for_logged_in login_test.CompleteSignupTest.test_multiple_invites login_test.CreateChildTest.test_create_over_thirteen login_test.CreateChildTest.test_multiple_invite_accept login_test.CreateChildTest.test_multiple_invite_deny login_test.CreateChildTest.test_no_invites login_test.CreateChildTest.test_one_invite_accept login_test.CreateChildTest.test_one_invite_deny login_test.InviteSignupTest.test_facebook login_test.InviteSignupTest.test_facebook_email_changed login_test.InviteSignupTest.test_google login_test.InviteSignupTest.test_google_email_changed login_test.InviteSignupTest.test_parent_verification_mail scratchpads.handlers_test.ScratchpadHandlerTest.test_get_scratchpad_new scratchpads.handlers_test.ScratchpadHandlerTest.test_get_scratchpad_show topics.preload_test.PreloadTest.test_preload

I picked these tests because they all use the 'fake' homepage getter,
which means they run the webapp WSGI app, which loads the mapreduce
lib.  They failed to run before this change, but succeed after.

Reviewers: tony, alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D5568