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.
I don't think its a good idea to only return the response code here. You may eventually want to have a test that uses the response body. 

Just return the response, and extract the status code outside. You can also have a utility method `assertHttpStatusCode(HttpResponse response, int expectedCode)` that does the extraction and assertion.