Make AliasedNode not inherit alias from its child node, so that aliasedNodeMap will only contain nodes with explicit alias. Thus, won't cause AmbiguousColumnException in ParseNodeRewriter.
Keep original alias in ColumnParseNode replaced by IndexStatementRewriter
In ExpressionProjector, use child node alias if AliasedNode has no explicit alias.
Fix up alias of ColumnParseNode in join queries with full column name if table name is specified.