create requisite output directories for build targets; refactor common buile functionality into Builder#standard_build()