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
Let's see if we can get rid of this `ok` variable here.