Improve e2e tests

A few changes made while adding gke as a provider (coming soon):
- fix up a test that could pass while largely checking nothing (basic.sh)
- refactor a test that was almost entirely copy-paste (private.sh)
- make gcloud bin configurable in preparation for gke provider
- add additional gce/gke gating on tests that need it
- add additional logging where it is helpful for when the tests actually fail
This will fail if users don't have gcloud installed.  We'd rather have a pretty error later when we check for this.  why not just `GCLOUD=gcloud`?