perl: New module implementing a Perl destination

This new module implements a fairly simple Perl destination, with which
one can write destination modules in Perl. The module will call three
functions: init, deinit and queue (the name of all three are
configurable, of course). The first two receive no arguments, the queue
method receives a hash map of key-value pairs, selected by
value-pairs().

It does some type hinting (int and string supported only, so far), and
does not support sub-hashes yet.

This fixes #21.

Requested-by: Fabien Wernli
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
python: Add a python destination module

This works in a very similar way to the Perl destination, except that it
is for python, and supports an imports() argument too, which can list
modules to pre-load before the script.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
python: Make the init/deinit functions optional

When there is no init or deinit function set in the config, don't even
try to call them, or we may crash.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
perl: Better function names and small refactoring

Use a better function name instead of
_perl_call_func_noargs() (_call_perl_function_with_no_arguments), and do
use its return value from the _init() and _deinit() methods.

Reported-by: Viktor Tusa <tusa@balabit.hu>
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
python: Better function names, and small refactoring

Use better function names (suggested by Viktor Tusa), and split the
python_worker_eval() function into smaller parts.

Reported-by: Viktor Tusa <tusa@balabit.hu>
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
python: Fix the module when used multiple times

In case we're using the python destination multiple times within a
syslog-ng config, it needs to be aware of threads and the GIL. This
patch teaches the destination to hold the GIL at appropriate times.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Merge pull request #32 from algernon/f/mod-languages

Scripting language plugins for the Incubator