Added the compiler warning framework, and mostly finished the file options class.

Warnings still need to be integrated in some places, but they are easy to fire off now, and the documentation for them is complete.