Make SourceLocation.*_location cached properties.
Use SourceRange(start,end) instead of SourceRange.create.