Adds preliminary makefile.

This is a temporary makefile and I'll use autoconf later on.
Adds commons functions.

The commons functions are wrappers to standard library calls that
automatically abort the program in case of error.
Adds path functions.

The path functions are used to facilitate the manipulation of path
within the program.
Adds preferences initialization.

This adds the initialization function for the main preferences.
Fix a typo.
Adds task functions and structures.

The task fuctions and structures are used to manipulate tasks.
Adds iobuf functions.

The iobuf functions ensure low-level buffered input-output on files
directly at the syscall level instead of the libc level to avoid burden
for simple IO operations.
Adds a binary sort tree.

This binary sort tree is mostly the same as a binary search tree (actually it is)
without the concept of key. Hence it is mainly used for sorting
purpose.
Adds an hash table.

This hash table is fixed in size and reentrant.