Allowing to select the remote and the branch pulling from.

This is a first stab at fixing issue #435.
Fixed a few typos.
Removed an unused `format`.
Placed the options in the right place for `pull`.

Copying the code from `magit-push` was not possible because `magit-pull` is less flexible with its options.
For `magit-push` the options can be passed after the `repository` and the `refspec`.
However, at least for `--rebase`, `magit-pull` does not accept this format.
Fix incorrect cursor location in magit-key-mode

After setting an argument value, point would be in the wrong spot. Fix
this by saving which option point is at before redrawing, then jumping
to that option after redrawing. Add a new function
magit-key-mode-build-exec-point-alist to help with this.
Merge commit '3062d83ea949d731c4c5b0558de94ec0e19ae9b7' into dudebout/issue435
Merge branch 'dudebout/issue435'
Fix compiler warnings
Merge commit '92fdb63'

Conflicts:
	magit-key-mode.el