Add initial custom warning level support.

Added a first version of custom warning level support per target. Each
non-header cmake_helper module has its own compiler warning level that
can be set. Non-MSVC support still needs to be added.