[REEF-53]: Currently there is no interface for NameServer. And all the parameters of
the NameServer have default values. This means as long as a client puts NameServer in the
Driver constructor, no matter it is binded or not, it will be started.

This introduces NameServer interface and renames original NameServer as NameServerImpl,
so that if NameServer is not in a Driver constructor and clients do not bind NameServerImpl
into Driver configuration, NameServer will be not started.

- Introduce NameServer interface and add default Name Server implementation
- remove DefaultNameServerImpl

Author: Julia Wang jwang98052@yahoo.com

JIRA:
  [REEF-53]: https://issues.apache.org/jira/browse/REEF-53

Pull Request:
  Closes #27