Implemented Sparse Approximate Inverse for banded matrices

Given a fix sparsity pattern (which is set to the sparsity pattern of the original matrix by default, but could also be set to be that of a banded matrix with a given bandwidth), the SPAI based on Grote, Marcus J., and Thomas Huckle: "Parallel preconditioning with sparse approximate inverses." SIAM Journal on Scientific Computing 18.3 (1997): 838-853. This is currently tested by calculating the SPAI with the bandwidth set to the size of the full matrix (in which case the SPAI is exact).