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. 
Currently namespaces have a ``name``, ``displayName`` and ``description``. ``name`` is supposed to be an identifier and so, non-modifiable. However, we could think of supporting updates for ``displayName`` and ``description`` later. Again though, I can't see an immediate use case for it.