[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


"Discover the base URL for a Service, relative to which Service endpoints can be accessed. The return value may be null if there is no Service to access or if it has not been started yet."

The next method can be similar, with the addition: "Discover the base URL for a Service in the same application, ..."