Clear all the caches
Update clear cache command to be more verbose
[#2492] Removing an unused variable and use statement, fixing phpdoc
[#2492] Automatically using the latest version when requiring a package

This applies to the init and require commands.

Previously:

If you ommitted the version of a library, it prompted you to enter a version.

New Behavior:

If you omit the version, it automatically selects the latest version that is consistent
with your minimum-stability flag.

Is Jordi mentions, this is consistent with how npm works.
[#2492] Prefixed real versions with ~ when guessing the latest version

2.1.0 > ~2.1.0
v2.1.0 -> ~2.1.0
dev-master -> dev-master
Extracting logic into a new class related to selecting the latest version

Also refactored InitCommand slightly so that you can use this "latest version"
functionality when searching for a package as well.
Refactoring selection of the "recommended" version (e.g ~1.2) and adding some tests

This also modifies the behavior slightly (from a recommendation by seldaek) to always
propose the minor version of the recommendation (e.g. ~1.2 instead of ~1.2.1).
Merge pull request #3175 from Petah/clear-cache

Clear all the caches
Fix invalid version format
Handle files in Filesystem::copyThenRemove, fixes #3287
Merge pull request #3292 from francoispluchino/fix-format-version-parser

Fix invalid version format
Load auth when updating a git repo mirror, fixes #3243
Improve sorting of plugin packages, fixes #3109, refs #2972
Merge remote-tracking branch 'weaverryan/require-version-select'
Allow using new code in the init command and avoid initializing the composer instance too early, refs #3096
Tweak rules to allow guessing based on branch aliases and avoid greedy constraints on alpha/beta/RC packages, refs #3096
Merge branch 'master' of https://github.com/composer/composer
renamed cache-credentials to svn-cache-credentials