Spark Integration: Collect System Metrics from Spark Job

Build running here: https://builds.cask.co/browse/CDAP-DUT176-5

@anew : Please review. Thanks. 
Okay. If I understand correctly then this will make the code cleaner when we have multiple jobs and the Map. 

Since we don't instantiate the Sink we cannot pass BasicSparkContext to it. So, if we try to do it now we will be calling a static method to get the static BasicSparkContext which we are doing in the reporter. We can just move it in the Sink. Which looks the same to me. Let me know if the move it needed for now