Move `Repository#push` to `Remote#push` and align it with `Remote#fetch`.

`Remote#push` now also takes an optional `options` hash that can
contain the credential or credential hash to use for pushing.

`Repository#push` forwards to `Remote#push`.