add tests for rehash, whence, which
undo `assert_output_lines` in tests

It was a dumb idea and it wasn't even implemented perfectly.
add tests for version commands
add tests for `help` and `rbenv --version`
improve `versions` tests by cd'ing into a clean slate
restore original IFS for hooks
test that IFS in hooks is correct

closes #379
work around bug in git 1.8.2.1 in tests

Making empty commits in tests blocked by opening the default text
editor, waiting for a message which we specified to be empty.

http://thread.gmane.org/gmane.comp.version-control.git/225529
bail out early if readlink is not available

readlink comes from GNU coreutils.  On systems without it, rbenv used to
spin out of control when it didn't have readlink or greadlink available
because it would re-exec the frontend script over and over instead of the
worker script in libexec.

Fixes #389
suggest cloning rbenv via https instead of git://
ensure cleaner PATH in test environment
Homebrew homepage location changed