backend: fix forking

Forking code would never be triggered as get('nipapd', 'foreground')
returns a string 'false' and not the boolean False. getboolean() fixes
that.

I don't know how to get bind_sockets() to play well work
fork_processes() so I've simply removed all our fancy socket binding and
removed it with the much simpler bind() call.

So this actually removes some functionality when it comes to listening
address. Previously multiple addresses could be specified. That code
just got ported over, since that was something we did with Twisted. The
new approach only allows listening on one IP address (all can be allowed
by using 0.0.0.0).

Fixes #653.