Start breaking out branch name -> ref conversion
Add symbolic_ref()

* Will be useful for clarifying the handling of refs in update_ref() and checkout()
Fix head.currentBranchName()
Fix toTerminalRef()

* Much simpler.  If HEAD, just use head.get() to return hash or ref in HEAD.  If a local head ref, just return that.
* Does not support (non-symbolic) refs pointing at other refs
Name hash on commit object "tree"
Allow second param to update-ref to be qualified ref
Test update_ref() allows branch name as second param
Correct test descriptions
Check update_ref(HEAD...) doesn't change HEAD file content
Test update_ref() can update ref to HEAD