Fix hooks tests on OS X by expanding BATS_TMPDIR

With `realpath` extension, hooks tests on OS X will output
`/private/tmp` instead of `/tmp` because the latter is an actual symlink
to the former.

Avoid this mistmach in output assertions by expanding BATS_TMPDIR if
`realpath` extension is compiled.
Avoid slow `abs_dirname()` by loading `realpath` extension

This speeds up every `rbenv` invocation significantly.
Stop using `abs_dirname()` in rbenv-init

It's slow and not necessary since we expect `$0` to already be expanded.

In tests this change forces us to deal with some relative paths, but
it's not a big deal. The `rbenv init -` output in the most common case
will be the same as before:

    source '/home/myuser/.rbenv/libexec/../completions/rbenv.bash'
Test compiled native extensions on Travis CI
Fail hard if RBENV_NATIVE_EXT is set but extensions failed to load