Gce cluster support

[WIP] still need to add tests for some negative scenarios.

This PR brings basic cluster support for the GCE offering of Qubole. For the SDK, I have abstracted the ClusterInfo object to be of two types `AwsClusterInfo` and `GceClusterInfo`. Each provider's authentication mechanism differing, I have altered the cluster settings to include context specific arguments. So when the `--provider` argument is explicitly used to switch providers we only show cluster arguments of that provider. Some of the provider specific features like EC2's `spot_instances` are hidden from the google cloud users.

Some of the parsing done by the OptionParser in `qds.py` is kludgy and I intend to clean it up over a separate commit to make the multi-cloud parsing easier.