'support sandboxes' in bootstrap

This code adds ```--default-sandbox``` and ```--sandbox path``` to the bootstrap.sh. This effectively makes it look like cabal-install has been built in a sandbox when bootstrap.sh completes.

I am a bit unsure about the logic in the SandboxPkgDbName.hs file which tries to work out what the name cabal sandbox will use for the package database directory.

It also changes the check for already downloaded tarballs to allow symlinks also. I can split this into a separate request if you want.
I think you don't need to use `${GHC}` here. Why not `${GHC_ARCH}-ghc-${GHC_VER}` instead?