filter: fixed "modify" property for FilterCall instances

The modify property for FilterCall instances were not properly propagated
to callers.

This patch also changes that "modify" is calculated during the init method
rather than doing it in the constructor.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
filter: add filter invocation functions that automatically make the LogMessage writable

In case a filter is not read-only, we have to make sure that our LogMessage
instance is writable. Introduce a new set of function that does
exactly that.

The old ones still exist as in some cases filter invocation is not
on a log processing path (patterndb actions, etc), in which case we
still have to be able to invoke them.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
filter: use filter_expr_eval_root() instead of calling log_msg_make_writable()

Use the new filter_expr_eval_root() function.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
LogRewrite: use filter_expr_eval_root() for condition()

This actually fixes a failed assertion, which happens when the filter
expression writes to the LogMessage, as earlier the message may
be read-only by the time it gets here.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>