[2.6] Added support for Service Discovery in Spark

This adds Service Discovery in Spark. 

The ServiceDiscovery code has just been copied and pasted to extract it out from AbstractContext so that we can serialize it to pass to Spark worker.



@anew: Please review. Thanks.

Build running here: https://builds.cask.co/browse/CDAP-DUT109-3


We need to expose it in the SparkContext interface so that the user can use the SparkContext to get the serializable discovery client which will be passed in the closure.