add proper support for mixed mode

The first and second commit are hopefully non-contentious.  The third commit which adds the `rvm_user` variable is more complex, and I may have missed something in the details, because I didn't understand all the existing code 100%.  Remaining questions include:

* What's the difference between `use_sudo` and `rvm_install_with_sudo`?  I couldn't see any difference in the previous code - they both seemed to do the same thing.
* Should `rvm-capistrano` run `rvm user ...` on the server automatically, and if so, when?  Currently the pull request does it every time `run_rvm` is invoked, but maybe it should be a separate Capistrano task which is optionally invoked via `before` hooks?