[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


Yes its because of the Serialization. 

SerializableDiscoveryServiceContext has a default constructor and so it expects this abstract class which it extends to have a default constructor too.