Avoid confusion with the name realloc

Fixes issue 1.
Change NewDense signature and behaviour

This is an API breaking change.

NewDense now panics if len(mat) != r*c, unless mat == nil. When mat is
nil a new, correctly sized slice is allocated.
Fix dimensio typo

This caused a panic with b matrices that are not square.
Started adding tests for Solve
Changed test to use flatten
Added more tests to Solve
Fixed tests to have answers from a reliable source
Clean up tests
Fix QR solve shape error
Improve panic test handling
Fix illegal index panic
Added square test for QR factorization
Added skinny QR test
Added Fat QR test
Removed fat test, algorithm doesn't work in that case
Enforce QRD shape restriction
Clean imports
Improve QR comment
Working version of Solve
Removed dead code in qr test