Crate setuptools install file.
Fix setup script and gitignore.
Clean up main function code.
Added comments and cleaned up lexer.
Lexer outputs messages to log instead of stdout.
Remove unused tokens from lexer.tokens.
Update parser documentation.