Default to Ruby when language contains illegal characters

Fixes https://github.com/travis-ci/travis-ci/issues/2708

When the `language` value in `.travis.yml` has the value which will
be capitalized to a matching lanugage, but not all lower cases
(e.g., `Erlang`) we should be running on the default image (Ruby),
but we end up selecting another language (e.g., `Script::Erlang`)
instead.

We need to avoid this situation.

Here, we detect the skew in the `language` value in `.travis.yml`
and the Script language selection by looking at whether or not
`#downcase` changes the value.