Remove debug statements
Fix input of empty packs (which happen with up-to-date fetches)
Remove refs/ prefixes when building a new reference value

This will break with branch/name/tag nameds refs/ but that simpler to ensure the invariant in the constructor
GitRemote.fetch seems to work fine!

- We do not use the fancy capabilities yet (but all the machinery to handle them is there).
- Need to add more automatic tests (only manual testing for now on)
Fix some mess around reference handling.

Now `GitRemote.ls_remote` works as 'git ls-remote' (without all the options, but should be easy enough to add if some is interested ...)
Better reference comparison
Better API to GitRemote functions