No longer use removed MAGIT-DEFINE- macros

I tried to install magit-push-remote from MELPA, but I found that it uses two macros that were removed from magit.el.  These two commits replace the use of these macros by simple DEFUNs.

There are still a few compiler warnings left that point to other incompatibilities with magit.el.  Do you think it is worth for me to work on them?