babeld: cap neighbour cost to INFINITY

With large txcost and rxcost, the calculated cost to a neighbour can
exceed 65535, i.e. INFINITY.  This is not a real issue, since any cost
over 65535 is equally seen as infinity.

However, it can confuse other tools (e.g. babelweb) who wouldn't
expect a cost higher than infinity.
babeld: make babeld request sending conform to the RFC.

The prefix field’s size is Plen/8 rounded upwards.
babeld: give names to the various types of sub-TLV
babeld: fix headers for NetBSD
babeld: introduce accumulate_int and accumulate_unicast_int for 32-bits values
babeld: introduce a pointer to the Hello message inside a node's send buffer

Note that babeld's behaviour is not modified by this commit.

This will be used to embed a timestamp into Hello messages, which will
eventually allow to compute the RTT between nodes.
babeld: piggyback a timestamp on all outgoing Hello messages

We use a sub-TLV to do so, which we fill out at the very last moment
to get an accurate timing.

This timestamp will be used to compute the RTT to our neighbours.
babeld: keep track of timestamps on incoming Hello messages
babeld: send back timestamps with outgoing IHU messages
babeld: parse timestamps on incoming IHU messages
babeld: compute the RTT to a neighbour

To do this, we use the timestamps piggybacked on Hello and IHU
messages.
babeld: compute the moving exponential average of the RTT
babeld: add a cost to neighbours, computed from the RTT
babeld: rename variable to avoid future confusion.
babeld: make 'rtt_exponential_decay' relative to an interface
babeld: allow all RTT parameters to be configured

Note that this commit effectively disables the computation of a cost
from the RTT, since 'max-rtt-penalty' defaults to 0.

The original commit was from Baptiste Jonglez on the standalone
babeld, commit 2242f9717ca7ffb16807033933778b07f20a6303.
babeld: add a condition for sending timestamps on Hello and IHU

Note that this commit is a no-op, since this condition is true by
default, and it cannot be set in the configuration yet.
babeld: add a configuration variable "enable-timestamps"

Disabling the piggyback of timestamps can be useful if the per-message
overhead is not desirable, or for troubleshooting compatibility issues
(there should be none, but who knows).

The original commit was from Baptiste Jonglez on the standalone
babeld, commit 93af52cd4115df196321db961cc97b397b235e33.
babeld: display the RTT and associated cost on table dump
babeld: update the metric of a neighbour's routes when its rttcost changes

Note that this slightly increases the amount of information sent out
to the local interface (up to three neighbour updates per received
packet, vs. up to two without this patch).