Add code quality test for self assignments

Doing so just denests the power in `other`; the two while loops were to handle (possibly nested) situations like `a**1.0 == a or a == a**1.0`. Simple demonstration that what I suggest is wrong is sufficient proof for me that it is.