resolve ruby versions symlinks when applying to the env

This ensures that an actual version path (not a symlinked path)
is always used in the ENV vars.  This means that symlinking ruby
versions will have no effect on the path related ENV vars.  The
symlinks will only be used for referencing versions.

This is good b/c it normalizes things.  Plus you can safely treat
symlinks are references only.  There may be future PRs that add some
behavior related to this - not sure yet.

Unfortunately, bundled up in here are a bunch of style cleanups. I
was going to links to keep LOC down so I had put many lines of code
on a single line.  This made it hard to read and understand and I
ultimately had to undo it to make these changes.

Finally, this also adds an additional ENV var: `RUBY_VERSION`.  This
is necessary to properly remove path entries as `RB_RUBY_VERSION` may
not match the path b/c it may be unresolved.  I had wanted to set
this var anyway, so its a good thing.