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