Fix: Retain assignment subclasses in assignment-collection transformations
The substitution functions transform_rhs and transform_lhs_and_rhs used to rewrite assignments would always create a new ps.Assignment, even if called on augmented or reduction assignments. The reduction semantics would therefore be lost.