Add Remote#Ls.

Allow filtering heads by name.

@carlosmn you were right, It was way easier to implement everything in go land.
I'd rather not have this function cause a connection to start. While it is named after the `ls-remote` command, what `git_remote_ls()` does is grab the list that was advertised on connect. It's supposed to be purely a query function.