Fix licenses
Allow ParseError to accept a full SourceLocation. This has no immediate effect for now, but opens the way to using column information in future.
Refactored parser init commit.