Expand the paths so that they are correct when passed to Clang.
Improve the error handling of the Parse method so we can correctly diagnose the issue in the driver.
Fixed processing of macros by creating a preprocessing record on the parser.