Restore CWD at END { } to repress warnings ( and the problem they're warning about ) about 'cant remove path when cwd is X/Y for X'
Work around CommitBuild commiting dirty trees by doing a fresh write-out to commit, instead of committing a previously-written and possibly dirty tree
Make t::Util restore original directory on exit
Make CommitBuild use binmode & chmod when writing

  Match what Dist::Zilla's _write_out_file does
v2.010

 - fix rt#83891 - Git::CommitBuild commits non-build files
   Git::CommitBuild now writes a fresh copy of the built tree to commit,
   instead of using one that may have been modified by other plugins
   (kent fredric & christopher madsen)