(FACT-273) Always log warnings regardless of log level

If a class is trying to emit a warning the expected behavior is to log
it, since if it's worth warning about it's worth seeing every time, and
if it's not worth warning about every time about then it should debug
message. This commit ensures that all warnings are actually handled.
(maint) Delegate #warnonce printing to #warn
(maint) Emit warnings when log methods called without string