Implement parallel matrix multiply.

Matrix multiply is a core algorithm for many advanced matrix operations. Concurrency is
a core feature of Go. This PR implements a parallel matrix multiply which concurrently
multiplies sub-blocks of matrices. If the matrices are sufficiently small, or
GOMAXPROCS == 1, the matrices are multiplied in serial to avoid the extra overhead.

This also fixes a bug in the old Dgemm implementation where the whole C matrix
data is scaled even if the data is not accessible.

This PR also adds a number of tests verifying the implementation is correct.