Fix FindAllTags to dereference tags that point to other tags
fixes #1605 (closed)
In the Ruby implementation, https://gitlab.com/gitlab-org/gitaly/blob/master/ruby/lib/gitlab/git/ref.rb#L30-34 dereferences the tag if it points to another tag object. It does this recursively.
We want to match this behavior in the go implementation. Also, we are protecting against circularly referenced tags. Even though this is not really possible with Git, if someone does something funny to the tags it could cause an infinite loop