Augmented assignments

Add support for augmented assignments when it is detected that a
variable is being mutated in a safe way.