Changes to AbstractDistStage and StartJVMMonitorStage

I noticed that StartJVMMonitorStage was not initializing the slave index
correctly. I also noticed that both StartJVMMonitorStage and
JPRofilerStage were overriding initOnMaster to initialize the configName
variable, so I added the field and initialization to AbstractDistStage.

Added the ability to set the frequency that JVM statistics are collected
in the StartJVMMonitorStage. The statistics are collected once a second,
minute, or hour.
Changes to Utils.createOutputFile()

Try to create the reports directory twice, and create the report file in
the current directory if the reports directory can not be created.
Create reports in tmp directory if creation of reports directory fails
Clean up TimeUnit dependencies

The time unit that is set in StartJVMMonitorStage is shared between the
LocalJmxMonitor and ClusterTimeSeriesReport classes. This commit
includes the following changes:

	Remove the static access for the TimeUnit in LocalJmxMonitor
	Use the public getter in LocalSystemMonitorChart to get the TimeUnit
	Add the TimeUnit to the constructor of ClusterTimeSeriesReport
Addressed review comments

StartJVMMonitorStage now take frequency and time unit parameters
LocalJmxMonitor stores the frequency as well as the time unit
ClusterTimeSeriesReport takes the frequency and time unit in the
constructor, and generates a series based on it.
LocalSystemMonitorChart gets the frequency and time unit from
LocalJmxMonitor and constructs ClusterTimeSeriesReport objects using
these parameters. It also uses the correct labels in reports and charts.