babeld: remove useless kernel.h structs and constants.

These are useless in the Quagga environment.
babeld: use proper logging with zlog_err.
babeld: use streams for iterating over routes.
babeld: use streams for iterating over xroutes.
babeld: don't directly modify a neighbour in parse_hello_subtlv()
babeld: silently ignore unknown sub-TLVs

This is a MUST according to the Babel Extension Mechanism draft
(Section 2.2.3).
babeld: remove unused (and bad-written) function header.
babeld: fix typos in warning messages.
babeld: fix typo in send_update_resend.
lib: simplify distribute.c's code.

Use loops and variables instead of doing each cases by hand.
Use static functions instead of rewriting code.
ripd: code simplification for redistribution.

Use loops and variables instead of doing each cases by hand.
Use boolean instead of having 2 almost identical functions.
ripngd: code simplification for redistribution.

Use loops and variables instead of doing each cases by hand.
Use boolean instead of having 2 almost identical functions.
lib: Make distribute.c accepts both v4 and v6.

distribute.c doesn't allow to manage both v4 and v6 distribute lists.  This
patch fix this problem by having 4 DISTRIBUTE* values in the enumeration instead
of two. The code in all daemons using distribute.c is adapted.
Conflicts:
	ripd/ripd.c
	ripngd/ripngd.c