Only attempt git pull when head is not detached

When using a SHA or a tag reference with a git repository, the repo
will be left in a detached head state. When in this state, a pull
does not make sense, and therefore fails. First check that we are not
in a detached head state before pulling.
Update giturlparse.parse to ignore domain checking

giturlparse had a bug/feature that required that the domain portion
of a git url contain one of github.com or gist.github.com. I have
forked that project and made the parse routine configurable. Therefore
update reponimous to take advantage of this.
Escape slashes in repo reference

In the case of git refs with a slash, we now escape those to a hyphen.
Without this, the repos will get created one directory deeper than we
would like.