Fix bugs and improve monitoring support.

Fixed test setup issue and missing cleanup of monitoring firewall rules.
Added logic to generate an unique password for Grafana as part of Cluster bring up
Modified the pod description to always use the 'latest' image to avoid pulling all the tags, thereby reduce startup latency.
cc @lavalamp 
I'm not 100% sure that comparing a variable for the string "true" is the best way to handle booleans, especially since sometimes scripts like setting them to 1, "y" or any non-empty value to assume the same...

On the other hand, I do see precedent for it. For instance, `cluster/gce/util.sh` has a comparison for `${FLUENTD_GCP}` being equal to `"true"` and `hack/lib/golang.sh` checks whether the `"${TRAVIS}"` variable has been set to something other than `"true"` as well.

If we want to go this route, I think I'd prefer to have a helper to determine whether something is set to true, in which case it should check whether something is set to the common values indicating false and consider anything else to be true.

```shell
  case $1 in
  "" | 0 | n | no | No | false | False)
    # Variable is set to false
    ;;
  *)
    # Variable is assumed to be true
    ;;
  esac
```

@jbeda What do you think?

In any case, given the precedent, I think this should not block this commit, but we may look into that for a future refactor.