Break test matrix generation in 3 files living in a subdirectory

It will then be possible to create a project with sbt containing those
files and then to use them from another project, e.g. benchmark.
Tweak benchmark project to allow benchmarking of spire.matrix

- new dependence on jblas (to be used as a comparison point)
- make test matrix generation available in project benchmark
Benchmark naive matrix multiplication against jblas
Factor out precondition checks for general matrix x matrix
Better file names for BLAS
Big overhaul of core matrix and vector classes

1. unify MatrixLike, Matrix and MatrixBlock into a single Matrix
   class, by relying on the so-called leading dimension;
2. unify VectorLike, Vector, VectorBlock and MatrixStrides into
   a single Vector class
3. those new Vector and Matrix classes extends only Iterable,
   as opposed to IndexedSeq before
4. introduce 2 new traits VectorConstruction[V <: Vector]
   and MatrixConstruction[M <: Matrix] to factor out commonalities
   in vector and matrix construction; reuse the latter in
   Matrix construction object and in
   matrix.dense.tests.GeneralSquareMatrix

Many files are touched but most of the changes outside of the core
classes are just the replacement s{(Matrix|Vector)Like}{\1}. The code for
Hessenberg, Schur and eigenvalue decomposition as well as the LU code have
only undergone this trivial modification.