on some Linux environments, it appears that GEM_HOME is writable but some (or all) subdirectories are not writable. by using sudo anytime one of those subdirectories is not writable, it becomes possible to run `bundle install` without special considerations on those machines. fixes #2403
This lets `bundle exec man ...` show man pages from bundled gems.
when using Syck as the YAML::ENGINE.yamler
we don't require yaml when we need to read the settings by using our own ghetto YAML parser that only applies to Bundler config files. specs still pass. :P
back to Ruby evaluation
This fixes a problem which occures when you want to run `bundle` command inside code that already loads `Gemfile`. When you start a command with `bundle exec` it sets `RUBYOPT` to `-I$PATH_TO_BUNDLER -r"bundler/setup"`. Because of that, when you run the actual command it already requires bundler, which is fine, but since `GEM_PATH` was cleared on the first run `ORIGINAL_ENV` will include empty `GEM_PATH`. Now when you run `Bundler.with_clean_env`, you will not have any bundler specific env variables, but you will also not have original gem path, which will make it impossible to run any gem. To fix this I try to always keep a reference to original gem path, so it's not emptied along the way.