Add RandomForest to spark-perf

Main updates:
* comment out streaming tests from config.py.template
* add RandomForest and its options as a generalization of DecisionTree

Updates just pushed:

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.)

Instead of a `try-except` block, it might be cleaner to just check whether the slaves file exists before opening it.  We should probably log a warning if it's missing, too.