Refactor rvm

This splits out `Chruby` from `Rvm`, and splits up the method `setup_rvm` to smaller methods.
I don't think so, this is the mostly same line as before https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/script/shared/rvm.rb#L53