Also return lightweight tags from Git::Raw::Tag -> foreach()

Currently ```Git::Raw::Tag -> foreach()``` only returns annotated tags, that is, tags that may be represented by a ```Git::Raw::Tag``` object.

It now also returns lightweight tags (```Git::Raw::Reference``` objects). The user can now also (optionally) specify the type of tag he/she is interested in.