Add 'cabal get --only-package-description'

With this option, 'cabal get' writes to the destination directory only the
package description already available locally in one of the repository
indices.

As requested by myself in #1954.
This does match the behaviour of `cabal get`. Neither `cabal get` not `cabal get --only-package-descr` overwrite things when you run them twice.

```
$ ~/Projects/Haskell/cabal/cabal-install/dist/build/cabal/cabal get cabal-install-1.20.0.3
Unpacking to cabal-install-1.20.0.3/
$ ~/Projects/Haskell/cabal/cabal-install/dist/build/cabal/cabal get cabal-install-1.20.0.3
cabal: The directory "cabal-install-1.20.0.3/" already exists, not unpacking.
```
```
$ ~/Projects/Haskell/cabal/cabal-install/dist/build/cabal/cabal get --pac cabal-install-1.20.0.3
Unpacking only package description to cabal-install-1.20.0.3.cabal
$ ~/Projects/Haskell/cabal/cabal-install/dist/build/cabal/cabal get --pac cabal-install-1.20.0.3
cabal: The file "cabal-install-1.20.0.3.cabal" already exists, not unpacking.
```