instantiate one fetcher per download
Removing monkey patch to rubygems build_extensions

As of Rubygems 2.0.7 build_extensions uses mutex
to ensure thread-saftey, so no need to duplicate
efforts in Bundler.
Rubygems thread-fix is avaliable from 2.0.7 onwards
Check rubygems cache dir to ensure no gems are corrupted
Use each_with_object instead of reduce
Refactored check_rubygems_cache_dir using group_by
check before ensure in case of exceptions
readability
Log gem installation in install.log in .bundle dir of the app
bring message in line with requirement
one logger per installer object, up to 1MB log