use `git rev-parse` to get tag canonical revision.
Only add ssh options to commands that actually talk to the network.

At least in Mercurial 2.8.2, --ssh seems to be a command-specific parameter in
contrast to a global one. As a result, local commands error when seeing a --ssh
parameter. This change passes --ssh only for commands that actually talk to the
network ('incoming', 'pull' and 'clone' here).
fix tabbing in vcsrepo test
Merge pull request #131 from igalic/fix-tabbing

fix tabbing in vcsrepo test
Merge pull request #121 from fkrull/master

Only add ssh options to commands that actually talk to the network.
Merge pull request #120 from huandu/master

Use `git rev-parse` to get tag canonical revision