remote: verify there is a push foreach callback set
remote: add test for pushing and deleting with the local transport
local: adjust to the common refspec parser

We no longer have NULL strings, but empty ones and duplicate the sides
if necessar, so the first check will never do anything.

While in the area, remove unnecessary ifs and early returns.
notes: move the notes name argument

Make it consistent between git_note_create() and git_note_remote() by
putting it after the repository.
notes: fix comments for git_note_next()

The iterator is the last argument. There is also no returned notes, just
ids, so the comment about freeing is out of place.
Merge pull request #2747 from libgit2/cmn/notes-consistency

Notes API consistency fixes
Merge pull request #2730 from libgit2/cmn/local-push

Adjust the local transport for the common refspec parser