Add a command for adding package to composer.json

Updated doc for require command
Add internal support for multiple default composer repositories.
Added comments to Composer class in order to make it IDE friendlier. Also added missing property 'config'.
Added comments to Composer/Factory class in order to make it IDE friendlier.
Added removePackage() to Repository\RepositoryInterface in order to provide to be able to rely on the existance of this method in all repositories. Had to add this method to the Repository\CompositeRepository.
Composer\Command dependencies (application and io) should can now be injected. This way, Composer\Command objects can be used in a regular symfony2 Console\Application.
Added comments -> IDE friendliness
When using composer commands outside a Composer\Console\Application, one does not have an IOInterface object
Coding standards and Cosmetics

Processing feedback given by @stof and @Seldaek.
Fixed the name of the homebrew package
Update vendors
Add COMPOSER_ROOT_VERSION env var to override the root version
Add failing test when aliasing a feature to an aliased version
Switch back to getOption since hasOption always returns true
Merge pull request #727 from jmfontaine/homebrew-fix

Fixed the name of the homebrew package
Require first version of a root package alias, rather than alias

This makes sure that the alias will always be installed, even if it isn't
technically needed.
Merge pull request #733 from naderman/require-alias

Require aliases from root packages, not original packages
Support multiple installers in a composer-installer package.
Merge pull request #735 from ajshort/composer-installer-multiple

Support multiple installers in a composer-installer package.
Update changelog