Built general patching system.

This system gives me a nontrivial way to write patch specs for different
files. I used this mechanism to rewrite the patch for Windows, and then
used it to write the BSD patches.
include <stadarg.h> for old gccs.

This test report:
http://www.cpantesters.org/cpan/report/ea8944fc-0f24-11e3-b8b2-96b61dda783b
led me to this site:
http://www.winehq.org/pipermail/wine-patches/2009-December/083364.html
which led me to include stdarg.h in all the c test files, so that stdio
works.