Keep `git fast-export` output on failure
Consistent 4-spacing
More storing of the output results if it doesn't work, and do an intermediate file between the weaving and importing
Factored out temporary file handling into separate class, and made what files are preserved on error more logical
Handle dependencies from one branch onto another