Basic utility functions for allocating memory. All SILC routines, and applications use these functions when they need to allocate, manipulate and free memory. Currently all allocation routines assert() that the memory was allocated successfully. Hence, if memory allocation fails it is fatal error.