Replace the 'unpack' command with a more general 'get'.

'cabal get PACKAGE' is the new name of 'cabal unpack'.

'cabal get --source-repository' reads the source-repositories from a package's
description, determines which VCS to use, and then creates a local repository or
branch of the package's repository.

'cabal get --source-repository=[head|this|...]' additionally allows to specify
which source-repository to use.

Based on the code originally written by John Millikin <jmillikin@gmail.com>.
Remove duplication between 'unpack' and 'fork'.
Support the repo kind argument to '--source-repository'.
Make 'unpack' a (hidden, deprecated) alias for 'get'.
Merge pull request #1075 from 23Skidoo/cabal-get

Replace the 'unpack' command with a more general 'get'.