Clean up project.go

* Clean up unused methods
* Refactor to Project.Remote
Hmm...I may change my mind on how this is done now. We could use `Branch.Upstream()` to get back the tracking branch instead of constructing from a `Remote` object. `Branch.Upstream()` will return `git rev-parse --symbolic-full-name`, say `refs/heads/master`. Running `git log refs/heads/master...refs/heads/branch` should yield the same result as `git log origin/master...origin/branch`