Added 'compiler' flag to project.mk to switch between gcc/clang.
Debug connection handling. Rebind socket quickly.
Create message parser from existing buffer.
Implemented StringBuffer_log macro and
StringBuffer_fdxload for non-blocking read .
Implemented message serialization.
Fixed message body parsing.
Implemented client socket connect (Socket_use).
Implemented macro for libev backend selection (KQUEUE on osx, SELECT else)
Set socket backlog to 512 (by default)
Renamed socket variables to sock to not shadow the socket function.
Improve echo client.
Implemented StringBuffer_write/fwrite and StringBuffer_equals macros.
Moved StringBuffer typedef to string_buffer header.
Added helper functions to extract message headers
and protocol values. Added flag to not free the
StringBuffer passed to the parser.
Added macro NULLS for safely printing NULL values.
Small cleanups in List implementation.
Fixed string null terminator problem:
Strings / StringBuffer is always null terminated.
The \0 terminator is excluded from the length of the string.
(similar behavior to to default <string.h> interface).
This fixes a problem when writing null bytes to the StringBuffer/String.

- Implemented printing hex encoded byte sequences to StringBuffer
- replace remaining printfs with XDBG/XFDBG
Replaced printfs with XDBG/XFDBG.
Added macros for bit operations.
Added assert to avoid memory corruption by parser.
Enable string buffer resize / append log statements
with STRING_DEBUG macro.
Added helper method to append numbers to StringBuffer.
Reformatted sources.
Added test case for unsigned arithmetic.
Temporary fix for sending responses with large data size.