Treat compilation warnings as errors.

When compiling for production, treat all warnings as errors.  The only class of
warnings ignored is "reportUnknownTypes", which currently reports many false
positives.  Also, ensure failed compilation processes exit with a non-zero
status code on the command line.