magit-setup.el: add `magit-push-dwis'

This is my local version of magit/magit#1362

A common workflow is to create a long-lived development branch (that
you'd like to publish remotely) while always rebasing to and monitoring
some other upstream branch. With vanilla git, the push.default config
can be set to "current" to achieve this. However, with
`magit-push-dwim', there's no way to do with without using a prefix arg
(which is extra work).

Add a new push "backend", `magit-push-dwis', that behaves exactly like
`magit-push-dwim' except it never specifies a remote branch to push to
unless explicitly given with a prefix arg. Without the explicit remote
branch, the behavior is determined by the config push.default.