If "NewServer" returns an error, it will result in a nil pointer
dereference segfault.
A simple way to test the behavior is to prefix the server url with a
colon, ":".
Kubernetes-commit: 1e50bc2d094410f3848b4dbc5f0442440d8f7d77
Few days ago I watched this kubectl code base tour on Youtube
(https://www.youtube.com/watch?v=uz8TS3V9qqY). It talks about a design
pattern that almost every command follows. But I found out that
`kubectl proxy` command does not follow this pattern. So, I'm
refactoring this command to use similar design pattern as other kubectl
commands.
Kubernetes-commit: 0bd41a300f12b1dbaec19fc94b868f91640542df