SPARK-2127: Use application specific folders to dump metrics via CsvSink

Generate an unique app name which is used to create events and metric folders.
Hi @rahulsinghaliitd , do we really need to use `SparkConf` to get this unique app name? I think metrics system is driven by its own configuration system, here you involved `SparkConf` as another configuration system just only for `CsvSink`, this will give people the chance to bypass the original way and lose its controllability. I think it would be nice to modify the way to get `appUniqueName` (eg. get it from SparkEnv).