data_type.h: remove useless #ifndef
flist.c: many fixes

    * add : now change tail or head if needed (for the first add)
    * every add function now increments the list's length
    * remove_node now change the head and tail correctly, and check if previous or next exists
    * remove_first and remove_last now calls directly remove_node
    * clean now puts every fields to 0 or NULL
flist.h: add macro to get the list's type
flist.c: change on iter and map functions

    * iter now change automatically the data size when it's a string type.
    * map now change automatically the data size when it's a string type.
    * fix map, which now add on the new list, not the current one (SHAME)