Add SparkFiles.get() API to access files added through addFile().

This pull request adds a SparkFiles object that is used to access files added with addFile().  This allows us to break the assumption that these files are downloaded to the current working directory, which caused problems when dependencies were fetched on the master / driver machine: https://groups.google.com/d/topic/spark-developers/BG8a9guHgG4/discussion

This change was originally proposed in #345.  It is backwards-incompatible, but upgrading user code should be pretty simple.

It also fixes [SPARK-662](https://spark-project.atlassian.net/browse/SPARK-662) by adding synchronization to Executor.updateDependencies().

I plan to port #345 and the synchronization fix back to branch-0.6, but I'll do that in a separate pull request.

I also deleted some unused code.