This is useful for annotated tags, where the deferenced target is not the same as the tag object. At the moment there is no way to differentiate the two through the tag API.
This change adds a "target" property and leaves the existing "commit" property alone so that existing behaviour is not altered.