Fixed handling of Metapackages in DownloadManager.

The "getDownloaderForInstalledPackage" returns null for "metapackage" and the download(), update() and remove() methods did not handle this return value correctly.
Adding ssh protocol support to github-protocols.
add allowing require to update dep chain, fixes composer/composer#2668
Fix some PHP doc blocks
Fix Cache::gc() when COMPOSER_CACHE_DIR=/dev/null

If we set COMPOSER_CACHE_DIR=/dev/null, and the garbage collector
is triggered, we end up with the following error :

The "/dev/null/" directory does not exist.

This is because the Cache::gc() function does not check for Cache::enabled
and instanciates a Finder unconditionnaly.

Fix this by adding a check on Cache::enabled.
Merge remote-tracking branch 'h4cc/master'
CS fixes
Merge pull request #2688 from slbmeh/master

add allowing require to update dep chain, fixes composer/composer#2668
Update docs for the new flag
Update short project description (creds to @briandoll)
Update deps to sf 2.4.2
Merge pull request #2691 from dave1010/docs-patch

Fix some PHP doc blocks
Merge pull request #2695 from guillaumelecerf/fix_cache_gc_with_cachedir_devnull

Fix Cache::gc() when COMPOSER_CACHE_DIR=/dev/null
Merge pull request #2682 from gena01/ssh-support-in-github-protocols

Adding ssh protocol support to "github-protocols".
Doc tweaks, refs #2682