use a single representation for remote branches

In Magit and the Git porcelain remote branches are often represented
using the form REMOTE/BRANCH. However `git pull' and `git push' have
different semantics and that leaked into Magit too much.
Always use the REMOTE/BRANCH form and only convert right before calling
`git pull' and `git push':
REMOTE/REMOTE-BRANCH-NAME
=> git pull REMOTE REMOTE-BRANCH-NAME
LOCAL-BRANCH-NAME REMOTE/REMOTE-BRANCH-NAME
=> git push REMOTE LOCAL-BRANCH-NAME:refs/heads/REMOTE-BRANCH-NAME
The translation is done by the new function `magit-split-branch-name'.
Remove `magit-get-remote-branch', which returned (REMOTE . BRANCH).
We can now always use `magit-get-tracked-branch', which returns
REMOTE/BRANCH, or for a local branch just BRANCH.
Replace the two arguments REMOTE and REMOTE-BRANCH which a single
argument SOURCE or TARGET in many pulling and pushing commands.