Unify the source macros
Introduce macros %defcommit and %deftag, which are used to define other
macros depending on whether Source: is a tag or a commit. The other macros
(%id and %shortid) can be then used in the same way in both cases.
This way the rest of the spec file des not need to know whether we are
dealing with a tag or a commit.