Add a compile-time check for format string type sanity.

TODO:  Extend this to run-time, so the actual type can be verified.
Alternatively:  Make a type-safe formatter instead of using C varargs.
Add several Python vararg functions to the string format checker