[2.6] Added support for Service Discovery in Spark

@anew: Please review. Thanks.

Build running here: https://builds.cask.co/browse/CDAP-DUT109-3


Why need this? Is it the intend for it to be Java serializable? If that's the case, make this interface implements `java.io.Externalizable`.