LPS-36654

Hi @rotty3000 (/cc @laszlocsontos)

here is a fix for an escallated ticket, it's the sanitizing of log messages.

Summary
=======
In _log.level(message, exception):
1, sanitize message
2, sanitize exception => sanitize message of the exception and all "causes" without touching StackTrace[]
3, should be fast (logging is used from everywhere)

Sanitization should primarily remove CR+LF, but there are other dangerous characters (log file column separators, terminal symbols, ...)
=> I replace all characters < 32 (space) - can be changed in portal.properties

By the report we should also escape HTML characters, but this should be responsibility of the log writer. We, at web app level, don't know if the logs are written into DB, XML files, HTML or text files. Anyway, we added optional HTML.escape() - can be turned on in portal.properties.

Implementation specific challenges
==========================
Specific scenarious where we want to print CR+LF:

1, In LogUtil.debug() we print Properties objects as log message (includes CR+LF) 
=> fixed in "LPS-36654 Fix logging of Properties 540f45d"

2, In LogUtil.log() we print modified (shortened) StackTrace[] also as the message (includes CR+LF) 
=> fixed in the last 5 commits - you can smash some of them

3, When there is an exception in JSP, we print into output the part of the JSP content (includes CR+LF) 
=> I turned off message sanitization in portal-developer.properties so that developers can see & fix it properly

It's probable that there are other specific use cases which I didn't find and where we want to print CR+LF. These will be sanitized (on one line) so it's not security risk, only formatting discomfort.