Add tests for rbenv PATH and RBENV_HOOK_PATH handling
Add rbenv's own `rbenv.d` directory to hook paths

This allows rbenv source code to ship with built-in hooks.
Bring automatic gem-rehash functionality to rbenv core

This bakes in the functionality of rbenv-gem-rehash plugin.

The Rubygems hook is improved:

- It will not rehash for gems installed in locations that rbenv otherwise
  doesn't search for binstubs; for instance in case of
  `bundle --path vendor/bundle`.
- It rescues exceptions and makes them non-lethal by warning on stderr.