Gracefully handle the case where no refspecs are passed to Remote#push.

We should try to fallback to whatever push refspecs are set in the remote,
or raise an error if no push refspecs can be found.
Support custom fetch refspecs on Remote#fetch.