This includes new human readable errors when misconfiguring push remotes, and adds a regression test for them.