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.
multi os support - this way mac vms will not download a ruby compiled for ubuntu
Add non-empty extension for sed

The sed commands are now compatible with both Linux and Mac.

See comments in https://github.com/travis-ci/travis-build/pull/207
Merge pull request #224 from travis-ci/ha-bug-multi-platform-sed

Add non-empty extension for sed
Merge pull request #222 from travis-ci/rkh-multi-os

multi os support
README uses SVG for build status badge
Merge pull request #225 from MaxGabriel/patch-1

README uses SVG for build status badge
Include Travis specific environment variables.

These are currently set in the Linux environment by our
provisioning process. They're missing from Mac though as per
travis-ci/travis-ci#1764 and travis-ci/travis-ci#1769.

As all other environment variables are set in here, makes sense
to include these as well.
data-env: add HAS_JOSH_K_SEAL_OF_APPROVAL variable
fix(directory_cache): put commands inside of if statement

Any commands inside of an `if' block needs to be called on the argument
that is passed to the block, otherwise they appear before the if block.
This is because `if' yields self as part of being created, see
lib/travis/build/shell/node.rb:43, and so the block is called when the
node is initialized, but adding itself to the parent node of the if
statement instead of as children of the if statement.

This caused the bug in travis-ci/travis-worker#90.
fix(spec): `if` should yield self
Install/Update Android components on demand

ref #161, #172, travis-ci/travis-ci#1395
Temporary work around to fix Android specs

There is a regexp problem with --accept-licenses='...' quotes in
`asserts?` from spec/support/matchers.rb
feat(objective-c): add environment variables for xcode config settings
Fix shell redirection

Commands such as './some-command 2>&1 > some.log' will end up only
redirecting stdout to the log file, stderr will be redirected to the
"old" stdout. This can be fixed by either changing the order of the
redirections or changing to '&> some.log', which redirects both stdout
and stderr to the log file. I went with '&>' here and changed the other
references as well to make it consistent.
Merge pull request #227 from travis-ci/hh-objective-c-vars

feat(objective-c): add environment variables for xcode config settings
Hierarchical options for Android builder
Merge pull request #226 from travis-ci/android-sdk-components

Android SDK Components and Licenses
rvm: only use `rvm use .` when a .ruby-version file is present

Keeping `|| rvm use default` to avoid breaking projects that doesn't
have a valid .ruby-version.
Update Scala default version to 2.10.4