Patch Set 2: I would prefer that you didn't submit this

I think we should implement it in the way Shawn suggested in the mailing list: http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg01227.html.

Just using the local remote tracking branches may also be a good approximation but it would not lead to the same behavior as native git. 

What I do not know and have not checked yet: What does native git do if no push RefSpec is given but there is a "branch.$name.merge" config entry which maps a local branch with name X to a remote tracking branch of name Y, but X and Y exist on the remote side?