(maint) Don't munge the user's opts hash in `on`

Previously, if the user specified `:environment` in the opts to `on`
(or to a higher-level method that passes on opts to `on`), `on` would
delete that key when it was called. This not only makes it impossible
to call `on` sanely in a loop, but is generally a pretty shitty thing
to do to our users' data.

This changes the code to not modify the hash.
Merge pull request #163 from anodelman/set-stacktrace-limit

(QENG-274) makes number of lines reported in stack trace configurable
Merge pull request #164 from anodelman/ntp-control

(QENG-278) beaker's ntp_control doesn't really work
Merge pull request #166 from branan/mutable_maps_suck_2_electric_boogaloo

(maint) Don't munge the user's opts hash in `on`
Merge pull request #165 from anodelman/convert-platform-version

(QENG-279) add ability to convert from platform version number to
google cloud integration
add firewall to google default network for given project

- to ensure that pe ports are open
added retry for network failure errors
split out google compute related code to its own class

- tidy!