Add -none syntax for version ranges.

The motivation is to be able to say --constraint 'foo -none' to prevent
'foo' from being considered when installing packages. See #2092.
Document cabal install --constraint.