gce-cluster-support: use argparse subparsers for cluster ops

cluster create and udpate use the argparser subparsers for
'create|update' with this commit. provider is passed to recognize the
IaaS being used and distinguish the options required for each provider
in an isolated manner. using the existing approach would have made it
difficult to ensure arguments required for each provider are passed
correctly. with argparse each subparser is configured only to the extent
that the provider will recognize and allow. eg: no access-key and
secret-key args for GCE and vice-versa.

The default options for --provider is AWS when no other provider is
given. All existing tests pass and retain backwards compatibility.

For most cluster actions - list / delete/ etc the provider is ignored
and only reqd for create/update cmds. but because of the nature of
qds.py in forming the method to parse by string manipulation, these have
recvd the provider argument and thus ignore it. In a subsequent refactor
it would benefit us to move completely to argparse to avoid this.