HPCC-9556 Refactor warning handling and implement #ONWARNING

This patch restructures the warning handling so it is always reported via the
report() virtual, and also maps the warning levels using the same chain.

eclcc now supports -w<n>=option to configure the behaviour for a particular warning.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>