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
for me the `|| true` says "ignore any errors".  This then means that we are ignoring errors from the curl, not from the statement as a whole.  I *think* either works so this is a nit that you can take or leave.