Add new push and pull commands

See mostly 0b709443b92c12868be4d709b28cf27ba8526f00.

This implements #1573 and a little more :-) It does not implement #1485 and #1527 which will have to wait until after the release. On the other hand it might be necessary to tweak this some more before the release, especially with regards to the defaults offered for completion. Also it would be desirable to not show the "current" variants when head is detached, but that requires changes to `magit-popup.el`.