Devel: coccinelle: Don't apply certain transforms to public API.
The public API (basically, everything in include/ that doesn't end in
"internal.h" and isn't in include/pcmki) can't use private (pcmk__)
functions. We've had a couple instances of coccinelle modifying public
headers to use them, because we didn't really know of a good way to
control how it operated.
This patch introduces a virtual rule named "internal". Every
transformation that rewrites code to use a pcmk__ function has a
dependency on this rule. It's conditionally defined on the spatch
command line only for those files that can use internal functions.
Unfortunately, doing this means changing how the cocci target works. We
now have two lists of files (internal using vs. not) and iterate running
spatch on each file for each cocci file separately. This can take a
little bit of time. It can also lead to a lot of warnings. However, I
don't see the warnings as a problem. They will only ever be seen when
the cocci target is run and it's easy to ignore them.