Compile debug/release into separate directories

So you don't have to rebuild the whole thing to switch back and forth between debug and release builds.  The `build` directory becomes a softlink which is updated (to the real build directory, either `.build_debug`, or `.build_release`) if the value of $DEBUG has changed.