Long-term op= clean-up

Michael Ferguson's r21869 commit caused the opequals future that was
designed to track the fact that op= unnecessarily widened things
(thwarting optimization) to start passing, as it should have.  (Thanks
again Michael!).  This commit retires that future.

The future was also a placedholer to change some uses of x = x + ...
back into x += ... in the domain map modules once things were working
better.  So this change also reverts those changes to get back to
the cleaner code (and maybe more optimal?).

Note that the refArgIsWide future committed at the same time as this
future (r21501) remains open because we still make reference arguments
wide unnecessarily in other cases.  I continue to believe that we
should do a better job of keeping these narrow or cloning based on
width of references (which would also potentially allow us to get rid
of the narrowWideReferences pass).  In essence, today we
conservatively make lots of things wide that don't need to be and then
look for chances to prune.  My preference would be to only make things
wide as needed, to keep the AST simpler, smaller, etc.  We could
continue to support a "use conservative wide references" flag if we
were concerned that we'd be letting correctness out the door.






git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21878 3a8e244f-b0f2-452b-bcba-4c88e055c3ca