Makefile: force rebuild every time.

This is a quick fix: one user got crashes due to incomplete rebuild.
Our project is small enough to do this, instead.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
pkt_names.c: allow numbers in packet names.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
protocol_net.h: rename unused packet types.

Don't remove them, as that would break numbering.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
peer.c: handle PROTOCOL_PKT_PIGGYBACK.

By ignoring it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ccan: update (esp. new timer code).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
timeout: add timeout functions.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
peer: add input timeout.

If we don't get any input for 30 minutes, we should close the peer.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
peer: add keepalive timer.

Every 10 minutes, send the latest block.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
peer: get fresh list of peers if no new peers for 30 minutes.

We always ask a new peer for their peers, but ask every peer every
30 minutes as well.  We only start this once we've reached a peer,
and push it back every time we reach a new one.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>