Added matrix initialization

I have added the ability rto initialize the matrix by providing an array
with values.
Added a test for initialization by copy.
Implemented initialization by copy

The copy redirects to assignment so implementing assignment make copy work correctly.
Implemented memory deallocation