Initial refactor for __rvm_select()
Merge pull request #2393 from wayneeseguin/selector-refactor

Refactor __rvm_select (possibly the entire selector)
code formating for #2393
split __rvm_select into subfunctions, update #2393