A couple of consequential fixes

* It turns out lazy sometimes evaluates the CoW copy early. That's fine, but we have to take that into account.
* Touching .values or .array needs to force matrix assembly.
Merge pull request #356 from OP2/further_cache_fixes

A couple of consequential fixes