Switch to gem_home for $GEM_HOME manipulation

This replaces chgems and is preferable as it directly manipulates $GEM_HOME
and $PATH, instead of creating subshells. This means I can write a single
automated script to create workspaces with local gems based on the presence or
otherwise of a .ruby-version file.
More vim temp directory settings
Declared the wrong variable name local, oops
Use debug trap hack for ruby_auto_env

This means our hook will work for non-interactive sessions. It means in
interactive sessions the hook will only fire when the first interactive
command is run (i.e. not as soon as you cd into the directory).