Chef::VersionConstraint#to_s should accurately reflect the constraint's behavior

For example, `Chef::VersionConstraint.new('~> 1.2').to_s` is now `"~> 1.2"` instead of `"~> 1.2.0"`.

#848 introduced [a change](https://github.com/opscode/chef/commit/5b4498135d7b2a2256f3aeefb587c88b4abe45d3) to `Chef::Cookbook::Metadata` to correct for the behavior of `Chef::VersionConstraint#to_s` when the constraint does not specify a patch level. This PR moves that change to the `Chef::VersionConstraint#to_s` and `Chef::VersionConstraint#inspect` methods so that the String representations of version constraints match their behavior.