Propagate environment param in rvm_shell

rvm_shell used passed `environment` param only when rvm was installed
under the user. Now it is set when environment is passed in rvm_shell
AND when environment is nil, but we need to set USER and HOME env variables.
If upgrade strategy is specific version - check current version before upgrading
Merge branch 'better-upgrade-strategy'
Merge branch 'shell-env-fix'