debug vararg cleanup

Added the gcc typchecking attribute for all of our printf-style functions, and addresses all of the type mismatches that resulted.  This uncovered about 10 actual bugs, mostly due to too many or too few arguments, and about 100 benign type mismatches.

Ben, can you review this?