feat(client.go) Add a https client; refactor related stuff

In this pull request:
1. Add a `NewTLSClient` function to create a client with TLS configuration.
2. Move cluster related functions and structure to cluster.go
3. Add a `AddRootCA` function to add a root ca cert to client CA pool. So client can use the certs verify against etcd server.
4. Minor naming refactoring.