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
why not:
```bash
if echo $output | grep "${id}" &>/dev/null; then
  server_running=1
  break
fi
```

I'd rename `ok` to `server_running` above too.