This PR adds a general purpose Retry class that can be re-used where-ever retry code is needed! It also allows you to call `bundle install --retry 3` which will attempt to connect to ruby gems 3 times before failing, and emit a warning message each time
bundler was using the global 'Bundler.definition' for standalone, but the local definition elsewhere. This was getting in the way of using bundler from within an application to generate a standalone bundle if bundler was being used to bootstrap the application in the first place.
The test expects the status code to return a non-zero exit code. bundler/bundler-features#6
I never remember which is which, so I clarified based on http://guides.rubygems.org/specification-reference/.
… double allocate the array.