Fix logic for multiple deployment providers

In cases where people have an array of deployment providers with only
a single element the current logic would break. This change fixes that.
Handle multiple custom deploy conditions

There was a regression introduced by the recent change in deploy
handling in the case where 'deploy.on.condition' is an array.
In such cases, the `if` statement is malformed, leading to
https://github.com/travis-ci/travis-ci/issues/2524.
This fixes this case.

Also, fix the failure_message spec.
Yield `script` in specs
Reset the colours at the end of travis_result

Otherwise the colours will leak into the next command if there is one,
see travis-ci/travis.rb#210.
Use $RESET [skip ci]
Announce the source of env vars
Use ssh key from settings
Updating some golang defaults

to set 1.3 as the default version and to use the new gvm binary download
if possible.
Using the new gvm --preferbinary flag
It's better to ensure vars is an array in initializer than in if checks
Simplify ssh_key installing by using encoded attribute
Announce env vars from config as env vars from .travis.yml
Typo
Deployment: Use build data rather than environmental variable to check whether build is a pull request
Merge pull request #268 from Joshua-Anderson/deployment-patch

Deployment: Use build data rather than environmental variable to check whether build is a pull request
Merge pull request #259 from meatballhat/go-version-update

Updating some golang defaults
Add newline before env vars announcements
Make source key installing backwards compatible
hard code getcomposer.org ip address
fix gvm flag