Merge pull request #21 from r-e-d/master

Cleanup
Warn about unused static data
Use correct node
Print warnings in a consistent format
Do things properly by not shoe horning things in
Alphabetize for deterministic results
Use dictionary comprehension
Format output to be more similar to Clang and GCC
Add missing quotes
Simplify
Print exceptions to standard error
Improve tokenizer ('^=', '|=', '<<=', '>>=', ...).
More robust parser (better handling of macro without trailing semi-colon).