Add Remote#Ls.

Allow filtering heads by name.

@carlosmn you were right, It was way easier to implement everything in go land.
@carlosmn I tried without connection at the beginning but the tests failed with a message that says `No transport bound to this remote`. I don't think `Remote#Load` connects with the remote, does it? how does it grab the list if it doesn't connect first?