Add a way for the caller to tell whether the deps were reinstalled.
Reinstall add-source deps in reconfigure.

Allows us to reconfigure on reinstall and pass compiler & platform to
'reinstallAddSourceDeps'.
Move 'D.C.{PackageEnvironment, Index}' under 'D.C.Sandbox'.

They're only used by the sandbox code ATM.
Warn if a file's modification time is in the future.
Rename 'AreDepsReinstalled' to 'WereDepsReinstalled'.
Make it impossible to override 'package-db' in 'cabal.config'.
Don't create a package DB in 'sandbox init'.

It'll be created on demand by 'configureAction' or 'install'.
Make 'configure -w' update the cabal.sandbox.config file.

I decided to go this route instead of passing compiler & platform to
'reinstallAddSourceDeps' directly because it makes the side-effect of
'configure' easier to test.
Rename 'withSandboxDir' to 'whenUsingSandbox'.
Rename 'tryLoadPackageEnvironment' to 'tryLoadSandboxPackageEnvironment'.
Merge pull request #1293 from 23Skidoo/reinstall-improvements

Improvements to 'reinstallAddSourceDeps'