Avoid copying Matrix in argument lists
Extend Matrix

Add "opEquals" and "opAssign" to Matrix.
There needs to be an opAssign for lvalues and rvalues
from what I understand is the current implementation requirements.
Still need to understand better how the following threads
update what is in TDPL on pages 256 to 258.

rvalue references (http://forum.dlang.org/thread/4F84D6DD.5090405@digitalmars.com)
Const ref and rvalues again... (http://forum.dlang.org/thread/yhnbcocwxnbutylfeoxi@forum.dlang.org)
structs are now lvalues - what is with "auto ref"? (http://forum.dlang.org/thread/tkzyjhshbqjqxwzppdin@forum.dlang.org)