Don't download files to master's working directory.

This should avoid exceptions caused by existing
files with different contents.

I also removed some unused code.
Add synchronization to Executor.updateDependencies() (SPARK-662)
Make AccumulatorParam an abstract base class.
Use generation numbers for fetch failure tracking
Fix sys.path bug in PySpark SparkContext.addPyFile
Eliminate CacheTracker.

Replaces DAGScheduler's queries of CacheTracker with BlockManagerMaster
queries.

Adds CacheManager to locally coordinate computation of cached RDDs.
Modified BlockManagerId API to ensure zero duplicate objects. Fixed BlockManagerId testcase in BlockManagerTestSuite.
Modified StorageLevel API to ensure zero duplicate objects.
Made StorageLevel constructor private, and added StorageLevels.create() to the Java API. Updates scala and java programming guides.
Force generation increment after shuffle map stage
Extra debugging from hostLost()
Add tests of various node failure scenarios.
One more fix. Made even default constructor of BlockManagerId private to prevent such problems in the future.
Allow PySpark's SparkFiles to be used from driver

Fix minor documentation formatting issues.
Remove use of abc.ABCMeta due to cloudpickle issue.

cloudpickle runs into issues while pickling subclasses of AccumulatorParam,
which may be related to this Python issue:

    http://bugs.python.org/issue7689

This seems hard to fix and the ABCMeta wasn't necessary, so I removed it.
Merge pull request #394 from JoshRosen/add_file_fix

Add SparkFiles.get() API to access files added through addFile().
Merge pull request #406 from tdas/master

Changed StorageLevel and BlockManagerId API to prevent duplication in memory
Actually add CacheManager.
Merge pull request #407 from woggling/no-cache-tracker

Eliminate CacheTracker
Remove dead code in test.