Patch Set 2: (2 inline comments)

AFAIR we already had some discussion about tags pointing on non-commits objects, and the conclusion was to not bothering with such rare use case, apart from that we would have some performance issues when there would be lots of tags and we'll be checking does every tag points to a commit or not.