Add before/after hooks for `rbenv uninstall`
Support rbenv hook paths that have spaces

Same approach taken in rbenv: sstephenson/rbenv@baf7656d
Fix stubbing programs that have dashes in them
Call `rbenv-*` subcommands directly, not through the `rbenv` executable

Benefits:
- makes it easier to stub `rbenv-*` subcommands in tests
- speeds up subcommands because it skips the main `rbenv` executable

Caveats:
- users are no longer able to call `bin/rbenv-install` or
  `rbenv-uninstall` directly
Add tests for `rbenv install/uninstall` hooks
Merge branch 'hooks'

Closes #368