Deep rework of flexisip's logging and sip boolean expressions, introducing a new feature: contextual logs.
With more details:
- the boolean expression parser/builder is now generic and could be applied to anything (not just sip message)
- the variables and operators supported by the boolean expressions can easily by extended thanks to map of lambdas.
- the boolean expression builder no longer does any kind of parsing when evaluating expressions. Everything is parsed once and the object representation is then used to perform evaluations. So it is faster than before.
- clear out the previous flexisip::log preinit() and init(), which were hardly understandable, and replace them with a LogManager singleton.
- a new global/log-directory settings allows to set the directory where logs are written
- the logs files are now named consistently with the systemd service name, for clarity: flexisip-proxy.log flexisip-presence.log flexisip-conference.log. (Was previously FlexisipLogs_proxy.log)
- a new global/contextual-log-filter setting allows to set SIP boolean expression conditionning the output of contextual logs.
- a new global/contextual-log-level setting allows to set the log level when the contextual-log-filter is matched.
- log directory is now automatically created by the rpm and deb packages.
- a bc-tester style test suite is added, for now it just tests the boolean expression engine. The goal of the test suite is to test low level features of flexisip. It does not intend to replace the "Flexisip" tests suite of liblinphone_tester. We need linphone to test flexisip.