Fix horrible bug in freeing macro arguments

After a macro which takes options/arguments is called, such as %systemd_post,
freeArgs() frees ALL macros *previously defined in specfile*.  For example,
in amanda.spec, after scriptlet sections which invoke %systemd_* macros are
processed, %amanda_user and %amanda_group in %files sections become undefined,
resulting in malformed owner/group file metadata.

$ rpm -qp --qf '[%{FILEUSERNAME}:%{FILEGROUPNAME}\n]' amanda-3.3.2-2.fc18.x86_64.rpm |
> sort | uniq -c | sort -n | tail
      3 %amanda_user:%amanda_group
    104 root:root

This change installs additional name check in freeArgs(), so that, upon
finishing macro call, only macro arguments are freed.