Matrix x Matrix: Success!!

We are now at 1/2 of jblas when the plateau is reached, as
benchmarked by spire.benchmark.MatrixMultiplicationBenchmarks.

Changes compared to the last commits:
1. remove handmade unrolling of loops; keep only the multiplication
   by block, relying on a packing of the lhs and rhs increasing
   data locality;
2. use sun.misc.Unsafe for the buffers using in the block times panel
   kernel, instead of Array[Double]: the reasoning was to avoid the
   array bound checks
Use naive GEMM for small matrices

The rationale is two-fold:
1. the naive implementation is faster for small matrices;
2. the fast implementation gets to be executed only for matrices
   big enough that the JIT will make the right decisions about
   inlining, register allocation, loop unrolling, etc.
Change default dimension range for matrix x matrix benchmark

Small matrices are now benchmarked as well.
Remove dead code and add line for debugging
Refactor blocking API to put it under GEBP
Add more documentation and comments
Explain why buffers are implemented with sun.misc.Unsafe

As opposed to Array[Double]
Remove the remark about Eigen as our code is not like it at all now