Update matrix.lua

Hi,

I added support to allow N-element vectors, and outproduct now accepts 3 and 4 vector

I also call astable() if it exists in matrix:new; this allows casting other objects from my environment into a matrix

Hope you like the changes

Marcel