Refactor: split StoreDirLayout out of CabalDirLayout
So we have a spec of the layout of the store, independent of the instance of the store within ~/.cabal/store. This will make new store handling code cleaner by not entangling it with other global ~/.cabal things. We may also in future want to allow global and per-user stores, and we certainly want the ability to specify a store location outside of ~/.cabal (though this could be done with the existing code too).
Showing with 63 additions and 38 deletions