patch from cl/58293676 - Changed the to_json method to not mutate state. - Adds a RETRY_PARAM option to the _GoogleCloudStorageInputReader. This is necessary because the cloudstorage.listbucket() operation in split_input can take > 20 seconds when there are enough files. - Allow the DELIMITER_PARAM to be a unicode string, which is allowed by the Google Cloud Storage API and required since the options are round-tripped through JSON (thus turning them into unicodes).
patch from cl/58293676
- Changed the to_json method to not mutate state.
- Adds a RETRY_PARAM option to the _GoogleCloudStorageInputReader. This is necessary because the cloudstorage.listbucket() operation in split_input can take > 20 seconds when there are enough files.
- Allow the DELIMITER_PARAM to be a unicode string, which is allowed by the Google Cloud Storage API and required since the options are round-tripped through JSON (thus turning them into unicodes).

R=bslatkin
DELTA=7 (4 added, 0 deleted, 3 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=6988

Candreas/mapreduce,ankit318/appengine-mapreduce,mikelambert/appengine-mapreduce,aozarov/appengine-mapreduce,mikelambert/appengine-mapreduce,westerhofffl/appengine-mapreduce,soundofjw/appengine-mapreduce,aozarov/appengine-mapreduce,lordzuko/appengine-mapreduce,talele08/appengine-mapreduce,lordzuko/appengine-mapreduce,bmenasha/appengine-mapreduce,bmenasha/appengine-mapreduce,talele08/appengine-mapreduce,GoogleCloudPlatform/appengine-mapreduce,soundofjw/appengine-mapreduce,chargrizzle/appengine-mapreduce,aozarov/appengine-mapreduce,rbruyere/appengine-mapreduce,rbruyere/appengine-mapreduce,rbruyere/appengine-mapreduce,bmenasha/appengine-mapreduce,soundofjw/appengine-mapreduce,vendasta/appengine-mapreduce,mikelambert/appengine-mapreduce,rbruyere/appengine-mapreduce,GoogleCloudPlatform/appengine-mapreduce,Candreas/mapreduce,chargrizzle/appengine-mapreduce,mikelambert/appengine-mapreduce,chargrizzle/appengine-mapreduce,Candreas/mapreduce,lordzuko/appengine-mapreduce,vendasta/appengine-mapreduce,westerhofffl/appengine-mapreduce,Candreas/mapreduce,GoogleCloudPlatform/appengine-mapreduce,westerhofffl/appengine-mapreduce,VirusTotal/appengine-mapreduce,ankit318/appengine-mapreduce,mikelambert/appengine-mapreduce,aozarov/appengine-mapreduce,aozarov/appengine-mapreduce,lordzuko/appengine-mapreduce,GoogleCloudPlatform/appengine-mapreduce,westerhofffl/appengine-mapreduce,soundofjw/appengine-mapreduce,chargrizzle/appengine-mapreduce,vendasta/appengine-mapreduce,ankit318/appengine-mapreduce,ankit318/appengine-mapreduce,vendasta/appengine-mapreduce,potatolondon/potato-mapreduce,potatolondon/potato-mapreduce,vendasta/appengine-mapreduce,Candreas/mapreduce,VirusTotal/appengine-mapreduce,VirusTotal/appengine-mapreduce,talele08/appengine-mapreduce,chargrizzle/appengine-mapreduce,VirusTotal/appengine-mapreduce,potatolondon/potato-mapreduce,westerhofffl/appengine-mapreduce,ankit318/appengine-mapreduce,GoogleCloudPlatform/appengine-mapreduce,lordzuko/appengine-mapreduce,rbruyere/appengine-mapreduce,VirusTotal/appengine-mapreduce,talele08/appengine-mapreduce,talele08/appengine-mapreduce,soundofjw/appengine-mapreduce,bmenasha/appengine-mapreduce,bmenasha/appengine-mapreduce