Report Spark Core results as JSON:

After this patch, the "result: " line printed to the stdout logs will contain
a JSON object that captures information on the test configuration in addition
to the actual test results.  This makes it easier to process the test results
using tools like Pandas or Spark SQL.
Extend SchedulerThroughputTest to test closure size, number of jobs.

I’m adding these parameters in order to test the broadcast-based
task shipping added in Spark 1.1.0.
Updated to run RandomForest with numTrees parameter
Updated DecisionTree test to take featureSubsetStrategy parameter.
removed streaming tests, added DT one
prep to merge with master
Added DecisionTree test options to support testing on a real dataset:
* training-data, test-data: training, test dataset paths or URIs
Also added DecisionTree test option:
* test-data-fraction: fraction of data to hold out for training (used for both real & synthetic data)

Updated to DT test required some other changes:
* Inferring label type (regression/classification)
** class/object PartitionLabelStats
** isClassification()
** loading pairs of data files: loadLibSVMFiles
* PerfTest.scala: optional arguments
** addOptionalOptionToParser
** optionValue[T]

Update to make spark-perf with updated tree Node API (in DataGenerator.scala)

Modified lib/sparkperf/cluster.py
* Changed so it still runs even if slaves file does not exist.  (It acts like an empty file.)
Fixed bug in loading data for DecisionTree tests (training data was loaded as test data)
fixed off-by-one bug in computing median
Updated DecisionTree test config options to a reasonable QA set. Added SNAPSHOT suffix to MLlibTestsBuild.scala for onepointone.  Fixed mllib jar name in testsuites.py.  Updated to use WeightedEnsembleModel instead of RandomForestModel.  Updated cluster.py slave file check.
Major refactoring of MLlib part of spark-perf.
* Added structure to GLM part of tests, eliminating some code
* Added 3 separate directories with complete tests for Spark 1.0, 1.1, 1.2
* Added GradientBoosting test as part of DecisionTreeTests
updated config.py.template
added base config for qa for 1.1
updated config files
changed als test to set blocks to num rdd partitions
added initial pyspark mllib test but not yet tested
fixed pyspark mllib glm classification test