Make per-branch build directories and sconsign-files. This saves build results and signatures for different branches in different folders. This drastically reduces the need to rebuild the world when switching between branches in git.
Backport Owen's git support changes to the build system. lp:mixxx r3379,3381-3384.
Cherry-pick lp:mixxx r3398 to get the last of Owen's git migration changes.