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
That seems less clear to me because it's not part of the output. Is it done like this elsewhere?