Adding algorithm for implicit feedback data to ALS
Split HadoopRDD into one for general Hadoop datasets and one tailored to Hadoop files, which is a common case.

This is the first step to avoiding unnecessary Configuration broadcasts per HadoopRDD instantiation.
Add a cache for HadoopRDD metadata needed during computation.

Currently, the cache is in SparkHadoopUtils, since it's conveniently a member of the SparkEnv.
Move Configuration broadcasts to SparkContext.
Send Task results through the block manager when larger than Akka frame size.

This change requires adding an extra failure mode: tasks can complete
successfully, but the result gets lost or flushed from the block manager
before it's been fetched.
Merge remote-tracking branch 'upstream/master' into implicit-als
Merge remote-tracking branch 'oldsparkme/hadoopRDD-broadcast-change' into hadoop-config-cache
SPARK-900 Use coarser grained naming for metrics
Merge HadoopDatasetRDD into HadoopRDD.
remedy the line-wrap while exceeding 100 chars
Addressed Matei's code review comments
Merge remote-tracking branch 'upstream/master' into results_through-bm

Conflicts:
	core/src/main/scala/org/apache/spark/scheduler/cluster/ClusterScheduler.scala
	core/src/main/scala/org/apache/spark/scheduler/cluster/ClusterTaskSetManager.scala
	core/src/main/scala/org/apache/spark/scheduler/local/LocalTaskSetManager.scala
Fixed compilation errors and broken test.
Added additional unit test for repeated task failures
Update README
fixed a bug of using wildcard in quotes
ask ivy/sbt to check local maven repo under ~/.m2
SPARK-920 - JSON endpoint URI scheme part (spark://) duplicated
SPARK-921 - Add Application UI URL to ApplicationInfo Json output
Allow users to set the application name for Spark on Yarn