Add Makefiles
Move the library to lib/
Move some definitions to separate implementation files
Update README
Move err_arg_str
lib/Makefile exits at first compile error