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
- [x] Testing on a distributed cluster. 
Hmmm, agree that if these methods throw ``Exception``, then we shouldn't use ``executeUnchecked``. However, I am wondering if these methods should throw Exception. We should probably remove the throws clauses and use ``executeUnchecked``. The exceptions from these methods would likely be ``TransactionFailureException``s. Should clients care about them?