Allow multiple unused function checks.

As part of this change, a stampfile is now generated at the same
time the unused function check rule is run. This ensures that an
unused function check is only ever run when the source files
are out of date.

There was also some API changes.

cppcheck_add_to_global_unused_function_check was renamed to
cppcheck_add_to_unused_function_check

cppcheck_add_global_unused_function_check_to_target was renamed to
cppcheck_add_unused_function_check_with_name

Both now take a first argument which is the name of the unused
function check. Unused function checks can now occurr in groups,
so for instance, if you build completely separate modules
which don't interact with each other at all, they can have their
own unused function check groups.