travis fix attempt

fix some bugs and travis-incompatible behaviors:
* clearer semantics / edge-case-handling in `new-branch` and `current-branch`
* work around travis' "shallow"-cloning preventing `copy-diffs-test` from making its own subclones
* fix symlink removal in `copy-diffs`
* relax `copy-diffs-test` assumptions about existing branches/refs