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.
prevent all new gems to be rubygems 2.0 only
Improve bundle show -V
Remove unneeded require
Guard in outdated? check
Fix remaining spec
Only use Bundler methods for outdated check
Add documentation to bundle update group option
Use the form of OSI's official site

See http://opensource.org/licenses/MIT.
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
Create makefile with path `underscored_name`/`underscored_name`

This fixes compilation issues in Windows. Closes #3028
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]
Update changelog for 1.7.3 [skip ci]