Explicit initialization.

Using the GCC .init section to initialize the library is
limiting.

This change reames xio_constructor to xio_init, and makes
the routine idepotent after the first invocation.  The constructor
annotation is stil present, but consumers of the library may
also use xio_init() explicitly.

Programs may now link statically with libxio, but must call xio_init()
before using other library functionality.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
adding macro _REENTRANT and adding linkage to pthtrad library
explicitly.
Signed-off-by: Eyal Salomon <esalomon@mellanox.com>
removing unused function msg_reset

Signed-off-by: Eyal Salomon <esalomon@mellanox.com>