Udp framework

The udp framework is build on top of network framework and is designed
to define new protocol or new command based on udp without modifying
the network framework.

The udp framework define a function udp_loop that take as argument
a structure udp_ops (defined in include/net/udp.h) :

struct udp_ops {
	int (*prereq)(void *data);
	int (*start)(void *data);
	void *data;
};

The callback prereq define if all the requirements are
valid before running the network/udp loop.

The callback start define the first step in the network/udp loop,
and it may also be used to configure a timemout and udp handler.

The pointer data is used to store private data that
could be used by both callback.

A simple example to use this framework:

static struct udp_ops udp_ops = {
	.prereq = wmp_prereq,
	.start = wmp_start,
	.data = NULL,
};

...

err = udp_loop(&udp_ops);