tag.c: use 'ref-filter' data structures
tag.c: use 'ref-filter' data structures

Make 'tag.c' use 'ref-filter' data structures and make changes to
support the new data structures. This is a part of the process
of porting 'tag.c' to use 'ref-filter' APIs.

This is a temporary step before porting 'tag.c' to use 'ref-filter'
completely. As this is a temporary step, most of the code
introduced here will be removed when 'tag.c' is ported over to use
'ref-filter' APIs.

Mentored-by: Christian Couder <58cc993db606fd7043084d51c23db751557f1001@gmail.com>
Mentored-by: Matthieu Moy <fbbe566372a364dbd17bce4222f8e1855291903f@grenoble-inp.fr>
Signed-off-by: Karthik Nayak <f21e23168db91f2bd3ec812184a2ac51d05a196a@gmail.com>
Signed-off-by: Junio C Hamano <a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com>

destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git