cleaned up the base directory

moved the output of *.o files to obj/*
moved header files and source files into their own dirs.
and made all the appropriate changes in the source files to account for
this change.