add kubeconfig types

Adds the ability to read a kubeconfig file (issue #1755).

Addresses #2644 to allow binding to different names and provides suggested names with a user specified prefix.
validateClusterInfo looks for conflicts...