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)
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.
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.
Clarify TODO.
be sure to set class loader of kryo instances