Force the script to run with bash (not sh)

since the generated script(s) kinda assume bash rather than dash, as is
the case on *buntu.  Also saving scripts in ~/.travis/.build by default,
but only for forensic purposes, not using as a cache or whatever.
feat(sauce-connect): update Sauce Connect addon to 4.0

Fix travis-ci/travis-ci#2019.
feat: add paranoid mode

This is useful for when the build script runs on a machine where it
can't be trusted with elevated privileges.
Don't run services when paranoid mode is enabled

Most services require sudo, so disabling them alltogether is the easiest
for now.
Don't run addons in paranoid mode
paranoid-mode: add a message explaining what is disabled
rename the config option to :paranoid

align this with https://github.com/travis-ci/travis-worker/commit/cf0d2464fff8eb4ccfa3971ec229bd4e72c8ab89#diff-d2601e3857d12659bfc7e6717e90424dL65
paranoid-mode: use find to remove setuid permissions
Run `export`s after enabling paranoid mode

One could set up an environment that executes code using $() or ``,
which might use sudo, so the exports should go after paranoid mode is
enabled (if it isn't enabled it doesn't matter what order it goes in).

This also extracts most of the "builtin" stages into a separate
configure stage instead.
Changing Go default to 1.2, aliasing 1 => 1.2
changed an if to an elif so we don't run a command twice
Retaining go version 1.0 alias to 1.0.3
ruby: allow selecting rubies with the `ruby` key

This also adds chruby support, although this is a beta feature for now.
ruby: download chruby from gist

This wil make it easier to change things without actually having to
redeploy the worker all the time.
ruby: always get latest version of gist
Ignore non-existent addons.

Fixes travis-ci/travis-ci#2063.
Stub chruby for tests.
Fold potentially noisy RVM fetching
Merge pull request #237 from bjeanes/patch-1

Fold potentially noisy RVM fetching
Defaulting Go version to latest non-tip (1.2.1)

since I'm in there anyway...