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>
Merge pull request #5436 from ghalliday/issue9556

HPCC-9556 Support #ONWARNING and fix other issues

Reviewed-By: Jamie Noss <james.noss@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>