Report error when assigning to const arrays/domains.

For now, this error is enabled only for user-level variables,
i.e. ones with FLAG_CONST and not FLAG_TEMP.
This probably could be tuned to catch more errors.

While there: a loop index variable of an array type
is never const. That's because we currently yield
arrays by reference even from non-'ref' iterators.
See e.g. svn:r21676 aka 8d3b2c4
aka 8d3b2c4065d6466dbaadab0ae0c8444e6645dae6

Non-constness applies even when the array is a part
of a tuple yielded by the iterator. Which is done
by the iterators boundaries() and dsiBoundaries()
in the test release/examples/benchmarks/miniMD/miniMD.chpl