Use the user's OLD_master during a sync if it exists
Add --preserve-merges to all the rebase calls
Explicitly check that a branch is actually a descendent of master before rebasing it during sync.  --preserve-merges seems to never fast-forward an ancestor branch, so don't rebase it and explicitly fast-forward it after sync
Merge branch 'PreserveMerges'
Initial plans for init
init_1 and finalization done, still thinking about how to do the "undo" and confirm that everything getting added is correct (that is, how to confirm dynamically-generated files have not been accidentally included)
A thought on how to check that everything git-controlled makes sense