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. 
Don't feel too strongly about having a separate table. Maybe we could use the same ``app.meta`` table and use the ``TYPE_NAMESPACE`` to identify the namespace keys. 

I haven't yet checked Account meta data. Since the plan is to replace ``accountId`` with ``namespace``, maybe we don't need it.  However, I'll have to verify what parts of the code use it, because this pull request does not yet address applying namespaces to various entities. This just exposes namespace APIs. I could be wrong, but maybe the best way/time to remove account metadata would be after namespaces have been applied to all entities across CDAP?