Initial commit of adding histogram functionality to the DoubleRDDFunctions.
Add tests for the Java implementation.
CR feedback
Remove extranious type definitions from inside of tests
Remove extranious type declerations
Replace magic lengths with constants in PySpark.

Write the length of the accumulators section up-front rather
than terminating it with a negative length.  I find this
easier to read.
Remove Pickle-wrapping of Java objects in PySpark.

If we support custom serializers, the Python
worker will know what type of input to expect,
so we won't need to wrap Tuple2 and Strings into
pickled tuples and strings.
Allow spark on yarn to be run from HDFS. Allows the spark.jar, app.jar, and log4j.properties to be put into hdfs.
Fix access to Secure HDFS
Remove the runAsUser as it breaks secure hdfs access
Don't call the doAs if user is unknown or the same user that is already running
Use SPARK_HOME instead of user.dir in ExecutorRunnerTest
Add graphite sink for metrics

This adds a metrics sink for graphite.  The sink must
be configured with the host and port of a graphite node
and optionally may be configured with a prefix that will
be prepended to all metrics that are sent to graphite.
Propagate the SparkContext local property from the thread that calls the spark-repl to the actual execution thread.
Replaced the daemon thread started by DAGScheduler with an actor
Remove unnecessary null checking
replace the thread with a Akka scheduler
Merge pull request #152 from rxin/repl

Propagate SparkContext local properties from spark-repl caller thread to the repl execution thread.
Add spark-tools assembly to spark-class classpath.

This allows the JavaAPICompletenessChecker to be
run with Spark 0.8+.
Merge pull request #149 from tgravescs/fixSecureHdfsAccess

Fix secure hdfs access for spark on yarn

https://github.com/apache/incubator-spark/pull/23 broke secure hdfs access. Not sure if it works with secure hdfs on standalone. Fixing it at least for spark on yarn.

The broadcasting of jobconf change also broke secure hdfs access as it didn't take into account things calling the getPartitions before sparkContext is initialized. The DAGScheduler does this as it tries to getShuffleMapStage.