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. 
its mostly a C++ thing - done to make sure you don't use assignment instead of equality check. Not required in java. However, in some cases, it can improve readability of the code (if there are multiple null checks in the same condition, so not applicable here). It was a habit, but I don't have a strong opinion about it. will move it to the right.