CDAP-772 Feature/cdap 772 namespace service

Namespaces APIs to manage namespaces metadata.
Question: 
Should we create and use ``Id.Namespace`` instead of using namespace name as ``Key``?

- [x] Namespace service to create, list, delete namespaces
- [x] Unit testing, standalone testing
- [ ] Testing on a distributed cluster. 
My concern if we do not return CONFLICT is that it will mean the API supports updates. Although I don't think it is major work to support updates to ``displayName`` and ``description``, its just that I am not sure we should expose that functionality at this stage. 
Also, just read up the spec  at http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.10 - 
"Conflicts are most likely to occur in response to a PUT request. For example, if versioning were being used and the entity being PUT included changes to a resource which conflict with those made by an earlier (third-party) request, the server might use the 409 response to indicate that it can't complete the request. In this case, the response entity would likely contain a list of the differences between the two versions in a format defined by the response Content-Type."

It seems to indicate that using a CONFLICT in PUT is ok, if the state of the resource has been changed by a third-party. I don't know if my current implementation fits perfectly within that definition though.