Basic utility functions for allocating memory. All SILC routines, and applications use these functions when they need to allocate, manipulate and free memory.