Adjust the local transport for the common refspec parser

As the local transport is still not a real transport, the tests covering push did not exercise this code. Add a simple push test for the local transport to guard against further regressions.

The first commit is something I discovered when writing the test.

This should resolve #2729