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.
Fix placement of failure_message blocks
Merge pull request #253 from maxlinc/failure_message_fix

Fix placement of failure_message blocks
use some smart bundler args by default

this retries failed gem downloads, and downloads 3 gems at once
Merge branch 'master' of github.com:travis-ci/travis-build
Merge pull request #204 from meatballhat/run-script-explicitly-with-bash-plus-default-saving

Force the script to run with bash (not sh)
fix some specs, yo
some bundler arg tweaking
ca$hing
remove a ?, no more questions!
time to lean to spell
Merge branch 'master' of github.com:travis-ci/travis-build
use $TRAVIS_TAG for on: tags condition
Merge pull request #254 from travis-ci/rkh-tags

use $TRAVIS_TAG for on: tags condition
Deployment: Added notices for why the deployment didn't take place. Fixes travis-ci/travis-ci#2399