value-pairs: Made value-pairs refcounted.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>
testutils: Added high-level assertion for checking log message fields.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>
rewrite: Fix a memory leak during configuration parsing.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>
libtest: Added config parse functions for tests.

With parse_config function, developers can easily parse config snippets.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>
rewrite: Reference the condition when cloning the rewrite object.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>
groupset: Added groupset rewrite object.

Groupset allows the user to set multiple log message properties at once.
It also allows the user to reference the old value of the property
as the $_ macro.

Example:

rewrite r_hash { groupset( "$(hash $_)" values("user.*" "secret.*") ); };

In this example, all properties which matches glob pattern "user.*" or "secret.*"
are hashed.

As the first parameter any valid template is permitted.
In the "values" section, user can specify a list of glob patterns.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>
rewrite: Added unit tests for rewrite functionality.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>
rewrite: Use "values" keyword instead of "fields" in grammar.

Also renamed multiset_opts to groupset_opts in grammar rules.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>