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