Pass custom root values around.

I install `rbenv` on servers at `/opt/rbenv` with a custom `root` setting. This fails as soon as hitting rbenv itself.

The attached commits dispatch root at required places so that compiling can take place, whether the rbenv root is default or custom.