move function prototypes, defines, and macros to a new header
Name the makefile properly.
name the file to the binary it creates.
code and comment style enforcement.

changelog will be added in next commit
added changelog file.