Specify how ~ constraints handle pre-releases

The "next significant release" a.k.a as the tilde version constraint
would not install a pre-release (alpha, beta, RC) which is not in the same
version namespace.

But in the examples so far it was shown as `~1.2` equals `>=1.2,<2.0` which
would actually install `2.0-beta.1`, because it the pre-release is before
the `2.0` release.

See https://github.com/composer/getcomposer.org/issues/64
Fix space in password for git auth
Merge remote-tracking branch 'WARrior-Alex/master'
Also use rawurlencode in git downloader, refs #2859
Ensure both bash and stty are present to assume cygwin, fixes #2857
Merge remote-tracking branch 'hkdobrev/tilde-examples'
Tweak wording a bit
Ignore ambiguous classes in tests/fixtures dirs, fixes #2858