add container_of() macro

to be used to remove cast abuse and finding parent structs later

Signed-off-by: Alejandro Mery <amery@geeks.cl>
libev: clean cast abuse

assuming that you can cast to the first field of an struct is very
risky

Signed-off-by: Alejandro Mery <amery@geeks.cl>
README: fix coverity link

coverity link was pointing to the wrong project

Signed-off-by: Alejandro Mery <amery@geeks.cl>
context: unify libwebsocket_create_context()'s return

Signed-off-by: Alejandro Mery <amery@geeks.cl>
context: move libev specifics into a sub-struct

Signed-off-by: Alejandro Mery <amery@geeks.cl>
introduce info->event and info->e to select and configure a backend

Signed-off-by: Alejandro Mery <amery@geeks.cl>
introduce context->event_ops

Signed-off-by: Alejandro Mery <amery@geeks.cl>
libev: Add test-client-libev flavour of test-client

Signed-off-by: Alejandro Mery <amery@geeks.cl>
libev: Add test-server-libev flavour of test-server

Signed-off-by: Alejandro Mery <amery@geeks.cl>
libev: move loop setting and backend printing to event_ops->init()

Signed-off-by: Alejandro Mery <amery@geeks.cl>