Better -branches:.

`-allBranchesWithError:` doesn't really work in the face of multiple remotes since it doesn't actually look up tracking branches and instead simply de-dupes based on name. This new method does The Right Thing®.

I went with a new method over fixing `-allBranches...` because it seemed bad to silently change the semantics of the method. But maybe we don't really care? :trolleybus: 
This return type can be inferred.