Initial push implementation
Fix AheadBy/BehindBy behavior for orphaned branch
Teach BranchCollection to disambiguate local and remote branch names