api: add Rack::SSL in staging and production

This forces SSL for the API.
Display no-deploy messages only when user wanted deployment
Fix travis_retry comparison.

If the command fails the first time, fails the second time,
and succeeds the third time, travis_retry will incorrectly
report that the command failed three times (but still return
a successful exit code).
Merge pull request #261 from jimparis/fix-travis-retry

Fix travis_retry comparison.
Fix spec failures introduced by the previous commit

Non-deploy messages should be printed only when deployment did
not happen. Basically, revert the specs for the non-deploy messages
and add a new spec that explicitly checks for the non-deploy
messages when the deploy condition fails.
Merge pull request #262 from travis-ci/ha-bug-pr255-followup

Display non-deploy message only when the deployment is expected but did not occur
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