Split the project functions in convenient libs

* Add a general definition file which handles all definitions
* Put all IO related functions on io.c lib
* Put all mathematical related functions on matematica.c lib
* Makefile handle all new files
* Makefile "clean" action wont warn for missing files
Reorder functios
Reorder functions
Add better thread hello