Use a non-default build dir when building add-source deps.

Fixes #1281.

I decided against using `.cabal-sandbox/dist/$PKGID` since we can have several add-source deps with a single `$PKGID`. Although that can probably be fixed by deleting the build dir when adding an add-source dep with an already-existing package id, there is another complication - when doing `install --only-dependencies`, there is no way to distinguish add-source deps (for which we want to cache the build dir under `.cabal-sandbox`) from regular ones (for which we likely don't).