Put back the preexec - we need both

Having preexec hook means that in a new terminal,
the ruby version is set before any command you run.

However, if the command you ran was `cd`, chruby
was just called from the directory you’re leaving.
So the chpwd hook is there to run it again once
you arrive in the new directory.

This will mean that when you cd into directory
foo, we end up setting the ruby version to
whatever is appropriate there. When you leave foo,
chruby_auto runs twice. The first time, it sees
that you’re already using the version listed for
directory foo and bails early. The second time,
it runs in the new directory and uses what it
finds there.