Implemented a very basic plugin system.

The way this works is pretty much the same way as `git` commands work.

When invoking `bundler <task>`, if the task isn't defined on Bundler::CLI,
Bundler will try and figure out if there is a `bundler-<task>` binary
present on the path. If so, it's invoked.

Same error message (and error codes) apply when a binary isn't found.

Also, this is just a first, simple pass at the problem. @indirect and I
had a chat about how it should work, and we should probably think about
offering the possibility of loading up Ruby plugins in the already
loaded Bundler environment.
indent errors in verbose mode per tradition
error out without retries when the network is down
Second try at failing immediately with no network
Add documentation to bundle update group option
Redo a private attr_reader to side-step throwing a Ruby warning
Add parens to not make Ruby throw a warning on ambiguous * usage
Merge pull request #3169 from chastell/warning_free

Make Bundler warning free again
remove file we never require
spec to check for warnings (@samphippen)
RSpec now includes :fit
avoid ivar warning in spec_helper
normalize requires for 1.8.7 warning check
fix remove method when methods are strings
Merge pull request #3030 from bundler/plugin-system

Implemented a very basic plugin system.
Updated changelog for unreleased features [ci skip]
Document plugins [skip ci]
Try to find `gems.rb` and `gems.locked` if `Gemfile` is not found
Fix the gemfile locating logic.
Everything (not just Gemfile) needs to be appended .lock, as per old behaviour.