Introduce a new class GenericSelectionExpr::Association which bundle together
an association expression and its TypeSourceInfo.
An iterator GenericSelectionExpr::AssociationIterator is additionally added to make
it possible to iterate over ranges of Associations. This iterator is a kind of proxy
iterator which abstract how exactly the expressions and the TypeSourceInfos are stored.