push: move main test function to git_remote_push()

We have the step-by-step method in the initialization function as we
want to remove references based on the list of references which are
already there, and we can use the convenience function for testing the
main push.
remote: use configured push refspecs if none are given

If the user does not pass any refspecs to push, try to use those
configured via the configuration or via add_push().