Changes:
Factor algorithms should not allocate the double storage until the numeric
factor is done.

Block-row algorithms should (a) use compressed row storage (same index values
for all identical rows) and (b) should be contiguous storage (to allow use
of Fortran-oriented routines such as BLAS).

This is even more critical, as the existing code has problems for some
situations (particularly when a block has apparent size 1 because of 
various offsets).  It would be best to use some form of Fortran-ordered
block storage so that the level-2 and level-3 blas could be used to
perform the operations.  These would be "compiled" matrices; no changes
would be permitted.

We need solve routines for block-oriented matrices

The block matching algorithms need to tolerate a given number of mismatches
(which will be filled in with zeros).
