Feature/cdap 778 namespaced services

Changes:
1. Services exist within namespaces
2. Service discovery is also namespaced

Things to watch out for:
* The ``ServiceHttpHandler.getRunnableCount()`` is now merged with ``ProgramLifecycleHttpHandler.getRunnableCount()``. The only extra logic in the former one was to go to the store if the program is not found running in YARN and get its instance count. However, this method is being used to update provisioned/running instances. Hence, I think the method in ``ProgramLifecycleHttpHandler`` should be preferred. To get requested count, the ``ServiceHttpHandler`` already goes to the store, so its unnecessary to do that again for getting ``provisioned`` instances.
* ``ServiceHttpHandler.getServiceSpecification()`` is now merged with ``ProgramLifecycleHttpHandler.getProgramSpecification()``, which was refactored.
yeah, maybe I should call it ``programSpecificationToString()``. And then add a comment saying it will return an empty string if the ``program`` is not found.