magit-branch-set-upstream: bugfix

Cannot use `magit-read-local-branch' because user has to be
able to _not_ select a branch in order to _unset_ upstream.
magit-push-tags: cosmetics
magit-pull: fix doc-string
magit-copy-as-kill: use full hashes
magit-diff-{,refresh-}popup: fix typo
magit-branch-set-upstream: bugfix
magit-request-pull: don't prompt for branch

Because we don't actually use the selected branch.  We should
actually allow picking a branch but that will come later.
magit-clone: cosmetics
magit-clone: create parent directories of destination
magit-remote-{add,remove,rename}: improve doc-strings

Remove Git usage (that's not really useful) and improve wording.
magit-remote-remove: move definition
magit-remote-update: add ARGS argument
magit-get-remote: new function

Add `magit-get-remote' replacing `magit-get-current-remote'.
magit-get-remote-branch: new function
magit-read-remote: add USE-ONLY argument
magit-read-remote-branch: make REMOTE argument optional
magit-read-remote-branch: add REQUIRE-MATCH argument
magit-local-branch-at-point: new function
magit-push-tags: move definition
magit-push-tags: improve doc-string