More cleanup/documentation
Remove the indirection of LookupReference

LookupReference() now resolves indirect links. That is: when you
look up "HEAD", you don't get "ref: refs/heads/master" (for example), but
the Oid of /refs/heads/master. You can still get the name of the reference
by looking at Reference.Name
Basic tag handling