Fixing typo
Major refactoring of Makefile

Following conventions from Info manual.
Moving unit test code to top directory
Fixing header dependency specification
Updating main header comments
Renaming test/lex to test/pass (it is no longer just a lexical analyzer)
Updating gitignore