Adding Go to the list of versioned runtimes supported by deploy addon

as it appears it will "Just Work" and I was operating under the
assumption that it *did* already work.
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.
Follow redirects when fetching Sauce Connect script

gist.github.com with a /raw URL now redirects to gist.githubusercontent.com.
Update specs to reflect update call to curl
Update one more line with the correct curl call
Follow redirects when fetching the casher script.
Fetch casher executable from githubusercontent.com.
Fetch Sauce Connect script from githubusercontent.com.
Fix for NPM config to use global certificates.
Look for npm before running npm config.
Redirect which npm to /dev/null.
feat(sauce-connect): update Sauce Connect addon to 4.0

Fix travis-ci/travis-ci#2019.
test(service): rename the service build script spec file

Without the _spec suffix it won't be run.
fix(spec): fix the build script service spec
fix(script): fix output redirection for resolv.conf update

From the bash man page:

  Note that the order of redirections is significant. For example, the
  command

    ls > dirlist 2>&1

  directs both standard output and standard error to the file dirlist,
  while the command

    ls 2>&1 > dirlist

  directs only the standard output to file dirlist, because the standard
  error was duplicated from the standard output before the standard
  output was redirected to dirlist.

I changed this to &> which redirects both stdout and stderr to the same
file.
fix(hosts): update sed expression to work with BSD sed

BSD sed is used on OS X. This version of sed requires an argument to be
passed together with the -i flag. Bash interprets -i'' and -i the exact
same way (this is how string concatenation works in Bash), so the space
is required for sed to notice the empty flag.
feat(rvm): use .ruby-version file if it exists for default Ruby

If there is a .ruby-version file in the repository and a Ruby version
isn't specified (or it's default), it would make more sense to pick the
version in .ruby-version than whatever we have set as default.

Close travis-ci/travis-ci#1984.
fix(npm-fix): removing the NPM fix as it is no longer needed
Remove reference to `fix_npm` method

This was removed by the previous commit.
Retry git commands

We should retry `git submodule` and other commands