Use pipelines waitForAllAndDelete

R=ozarov
DELTA=91 (3 added, 80 deleted, 8 changed)

Revision created by MOE tool push_codebase.
MOE_MIGRATION=7129
Step 4 in removing Files API from shuffler: Create new _GCSCleanupPipeline to remove temporary GCS files created during shuffle.

R=ozarov
DELTA=69 (46 added, 4 deleted, 19 changed)

Revision created by MOE tool push_codebase.
MOE_MIGRATION=7130
Give up on Pipeline callback tasks after 5 attempts.

When this happens it usually indicates the pipeline has been deleted. By returning 200 on a failure we indicate to the task queue that it should stop sending the task.

R=ttrimble
DELTA=70 (42 added, 8 deleted, 20 changed)

Revision created by MOE tool push_codebase.
MOE_MIGRATION=7131
Remove the Pipeline API's copy and use of simplejson.

Move to the json built-in module, which is present in Python 2.6 and above.

R=ttrimble
DELTA=1668 (7 added, 1610 deleted, 51 changed)

Revision created by MOE tool push_codebase.
MOE_MIGRATION=7132
Fix the root pipelines list.

The _class_path attribute and ClassProperty descriptor were clobbering each other.

R=ksostek
DELTA=4 (0 added, 2 deleted, 2 changed)

Revision created by MOE tool push_codebase.
MOE_MIGRATION=7133
Remove mapper_pipeline._CleanupPipeline in favor of mapreduce_pipeline.CleanupPipeline.

R=ozarov
DELTA=131 (1 added, 129 deleted, 1 changed)

Revision created by MOE tool push_codebase.
MOE_MIGRATION=7134
Merge pull request #7 from soundofjw/master

simple base64+zlib JsonProperty compression
support query filters with urlsafe() ndb.Keys
provide ndb.Key JSONification by default in json_util
Merge branch 'master' of github.com:soundofjw/appengine-mapreduce