bash completions for kubectl

Support pre command flags:
--api-version=
-a, --auth-path=
--certificate-authority=
--client-certificate=
--client-key=
--insecure-skip-tls-verify=
--match-server-version=
-s, --server=

And commands:
get
describe
create
update
delete

Tries to be smart about things like

kubectl get -o template  requires a template file

It also tries to accept both sigular and plural versions of all
resources.  Even though it will only complete to the plural version.
has_file not really use elsewhere...