pdns: Kill all spawned processes

Pipe backend spawned processes can still be alive after the pdns_server-instance was killed.
If the children remain alive, sockets will not be released, and the pdns_server-instance can't be respawned.

To be sure that all the spawned processes are killed, we must kill by using the process GID.
To be able to do the soft reloads, pdns_server-instance is declared as process group lider.

Also, all forced kills must kill by GID, not by PID, so all the processes would properly die.

Signed-off-by: Igor Maravic <igor@spotify.com>
Signed-off-by: Alexey Lapitsky <alexey@spotify.com>
Clean up after DynListener crash

When DynListener crashes, kill all processes from his parent PGRP.

This way we'll certanly close the pdns.controlsocket (no more hanging pdns_control processes)
and we'll kill the processes that aren't managable via pdns_control any more.
Add timeout to pdns_control connect, send and recv calls

If any of the connect, send and recv calls are timedout, TimeoutException is thrown.
main loop catches that exception and returns code 2.
code 1 is returned for all other exceptions.

In init.d script we now have 3 states:
UP
DOWN
UNRESPONSIVE

If the pdns_server is unresponsive, it will be killed.
After that, script continues as usual.
Clean up after the pdns_server-instance

Make sure that all children are killed after the pdns_server-instance dies
PDNS should always be the leader of the process group

That way, we can properly kill all of it's subprocesses!
Use the inet data type for supermasters.ip on postgrsql.

Use pgsql’s inet data type for v4 and v6 IP addresses in the
supermasters table.

The guarantees that the address will fit, that the queries will
return the addresses in canonical format, and correctness in that
nothing other than an IP address can be stored in that column.

Signed-off-by: James Cloos <cloos@jhcloos.com>
remove windows service entry points
Enhancement for Issue #1074. Added operator overload for pdnslog() to accept a log level when writing out to syslog. Added syslog levels to global lua table which correspond to the second argument in pdnslog. Example: pdnslog(INFO, pdnslog.Info), pdnslog(DEBUG, pdnslog.Debug) , these all correspond to their name in the Urgency enum
Cleaned up commits as seen by Habbie's comment. Updated scripting xml file with a table of new entries. Added some new pdnslog functions within the powerdns-example-script.lua to show new functionality.
Fix handling of empty lookup/list result
Unit test for empty lookup/list result
Merge pull request #1083 from cmouse/remotebackend-handle-empty-result

Remotebackend handle empty result
typo, thanks seth
Add missing deps to EXTRA_DIST, make clean now removes test binaries
Use /usr/bin/ruby interprepter
Add bundler dependencies
Attempt to setup ruby before doing much
Use sudo for ruby setup
Changed to /usr/bin/env ruby as per request
Merge pull request #1084 from cmouse/fix-1082

Fix 1082