Determine auth URLs more intelligently
Update troubeshooting.md to suggest clearing Composer's cache.
added test unlinking directory

#3157
rmdir needs to be used on windows to remove symbolic links to directories
added test removing directory with trailing slash that is symlinked

#3144
#3157
unlinking symlinked directories and trailing slashes

Filesystem::removeDirectory() didn't detect all symlinked directories
properly due to not resolving pathnames with trailing slashes first.

this commit fixes that issue by resolving pathnames with trailing slashes
by removing those in case they are representing a symlinked directory.

#3144

Reference:

 A.4.12 Pathname Resolution - The Open Group Base Specifications Issue 7
 IEEE Std 1003.1, 2013 Edition Section
 <http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html>
updated package variable in gathering requirements
Allow to select virtual packages
Merge remote-tracking branch 'hakre/patch-1'
Merge remote-tracking branch 'hakre/patch-2'
Merge remote-tracking branch 'amyboyd/patch-1'
Update recommendations, refs #3095
Merge remote-tracking branch 'garoevans/intelligent-auth'

Conflicts:
	src/Composer/Util/Git.php
Merge remote-tracking branch 'kayladnls/kayla'
Skip notification about matches found in case we have an exact match, refs #3261
Merge remote-tracking branch 'AydinHassan/hotfix/init-virtual-packages'
Fix the problem at the source, refs #3322