Merge pull request #8 from dane-unltd/master

Implemented LQ factorization, questions about API
Make BLAS calls more diff friendly

These are not broken into one-param per line, but semantic blocks.
Simplify lq matrix creation and avoid one allocation
Avoid one allocation

Matrix.Copy has built-in slice copy semantics, so it is not necessary
to ensure dimensions match.
Include LQD-based solver in Solve

A type switch is included to allow for the fact that (*LQ).Solve will
not overwrite the matrix parameter, but if Solve is handed a non-*Dense
matrix, it must be converted.

Solution is confirmed by octave - the test should probably just confirm
that AX == B.
Split Dense tests out into new file
Simplify code making views
Use concrete vars in place of new()
Unexport ApplyQ

At the moment it does not have a complete doc comment and it breaks
the normal idiom of receiver assignment. The first part can be fixed,
the second part may be a worthwhile trade off - the decision can be
made later.
Fix off-by-one error
Add BandWidther interface definition
Implement Stack and Augment
Harmonise View signature with the rest of the API